码迷,mamicode.com
首页 > 其他好文 > 详细

Struts2数据封装机制

时间:2015-06-24 20:55:33      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:

Struts2 属性驱动和模型驱动 帮助我们完成了 数据自动获取 数据自动封装

1、使用 属性驱动 来完成 数据自动获取和数据自动封装:

index.jsp:表单的填写

<body>
    <form action="<%=path %>/loginAction" method="post">
      姓名:<input name="name" type="text">
      密码:<input name="pwd" type="password">
      <input value="提交" type="submit">
    </form>
</body>

LoginAction的实现:(属性名一定要和jsp表单的name相同。重写execute返回“success”)

package com.qyy.action;

public class LoginAction{
	private String name;
	private String pwd;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	public String execute() throws Exception {
		System.out.println(name);
		System.out.println(pwd);
		return "success";
	}
}

struts.xml的填写:

<struts>
  <package name="userlogin" extends="struts-default">
    <!-- 第一个action是属性驱动 完成数据的自动获取和自动封装 -->
    <action name="loginAction" class="com.qyy.action.LoginAction">
      <result name="success">/index.jsp</result>
    </action>
    
    <!-- 第二个action是模型驱动 完成数据的自动获取和自动封装 -->
    <action name="muserlogin" class="com.qyy.action.MloginAction">
      <result name="success">/index.jsp</result>
      <!-- 以下两个是拦截器 -->
      <interceptor-ref name="modelDriven"></interceptor-ref>
      <interceptor-ref name="defaultStack"></interceptor-ref>
    </action>
  </package>
</struts>    

2、使用 模型驱动 来完成 数据自动获取和数据自动封装:

index.jsp:表单的填写

<body>
  <form action="<%=path %>/muserlogin" method="post">
      姓名:<input name="name" type="text">
      密码:<input name="pwd" type="password">
      <input value="提交" type="submit">
    </form>
  </body>

实例对象的bean:

package com.qyy.impl;

public class Users {
	private String name;
	private String pwd;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	
}

MloginAction的实现:(属性名一定要和jsp表单的name相同。实现接口ModelDriven<T>,其中T是bean的类名。一定要先new一个bean的对象,然后实现抽象方法getModel(),返回实例对象return us。 这样才能将jsp表单的内容初始化到对象中,然后才可以重写execute并返回“success”。)

package com.qyy.action;

import com.opensymphony.xwork2.ModelDriven;
import com.qyy.impl.Users;

public class MloginAction implements ModelDriven<Users>{
	private Users us = new Users();
		
	public String execute() throws Exception {
		System.out.println(us.getName());
		System.out.println(us.getPwd());
		return "success";
	}

	@Override
	public Users getModel() {
		// TODO Auto-generated method stub
		return us;
	}
	
}

  

 

Struts2数据封装机制

标签:

原文地址:http://www.cnblogs.com/qyy-goodluck/p/4598559.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!