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; } }
时间: 2024-12-20 16:16:40