Struts2三种传参方式(从jsp页面传到Action)
2016-03-13 20:23
471 查看
多的不说,直接上代码; struts.xml代码: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="login" namespace="/user" extends="struts-default"> <action name="*_*" class="com.wepull.struts2.action.{1}Action" method="{2}"> <result name="success">{1}_{2}.jsp</result> <result name="input">User_toLogin.jsp</result> </action> </package> </struts> 第一种传参方式: import com.opensymphony.xwork2.ActionSupport; /** * Struts2三种传参方式(从jsp页面传到Action) * * 方式一:直接在action中写属性,然后写set、get方法 * 1.在Action里添加属性,属性名要对应jsp上的属性名 * 2.添加相应的set方法 * */ public class UserAction extends ActionSupport { private String name; private String pass; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPass() { return pass; } public void setPass(String pass) { this.pass = pass; } public String doLogin(){ String forward="input"; //System.out.println(name+" "+pass); if("wepull".equalsIgnoreCase(name)&&"123".equalsIgnoreCase(pass)){ return SUCCESS; //登录成功,返回成功页面 }else{ return forward; //登录失败,返回重新登录 } } public String toLogin(){ return SUCCESS; //进入登录页面 } } ------------------------------------------------------------------------------------------------------------------------------ User_toLogin.jsp页面: <form action="user/User_doLogin"> <table> <tr> <td>用户名</td> <td><input type="text" name="name"></td> <td> </td> </tr> <tr> <td>密 码</td> <td><input type="text" name="pass"></td> <td> </td> </tr> <tr> <td><input type="submit" value="sure" ></td> <td><input type="reset" value="reset" ></td> <td> </td> </tr> </table> </form> ########################################################################## 第二种传参方式: import com.opensymphony.xwork2.ActionSupport; /** * Struts2三种传参方式(从jsp页面传到Action) * * 方式二:把属性封装到dto中,传值时以dto名字.其中属性 * 1.在Action里添加属性,属性名要对应jsp上的属性名 * 2.添加相应的set方法 * */ public class UserAction extends ActionSupport { private UserDTO user; public UserDTO getUser() { return user; } public void setUser(UserDTO user) { this.user = user; } public String doLogin(){ String forward="input"; //System.out.println(user.getName()+" "+user.getPass()); if("wepull".equalsIgnoreCase(user.getName())&&"123".equalsIgnoreCase(user.getPass())){ return SUCCESS; }else{ return forward; } } public String toLogin(){ return SUCCESS; } } ------------------------------------------------------------------------------------------------------------------------------ UserDTO.java代码 public class UserDTO { private String id; private String name; private String pass; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPass() { return pass; } public void setPass(String pass) { this.pass = pass; } } ------------------------------------------------------------------------------------------------------------------------------ User_toLogin.jsp页面: <form action="user/User_doLogin"> <table> <tr> <td>用户名</td> <td><input type="text" name="user.name"></td> <td> </td> </tr> <tr> <td>密 码</td> <td><input type="text" name="user.pass"></td> <td> </td> </tr> <tr> <td><input type="submit" value="sure" ></td> <td><input type="reset" value="reset" ></td> <td> </td> </tr> </table> </form> ########################################################################## 第三种传参方式: import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; /** * Struts2三种传参方式(从jsp页面传到Action) * * 方式三:实现ModelDriven * 实现ModelDriven接口 * */ public class UserAction extends ActionSupport implements ModelDriven<UserDTO>{ private UserDTO user; public UserDTO getUser() { return user; } public void setUser(UserDTO user) { this.user = user; } public String doLogin(){ String forward="input"; //System.out.println(user.getName()+" "+user.getPass()); if("wepull".equalsIgnoreCase(user.getName())&&"123".equalsIgnoreCase(user.getPass())){ return SUCCESS; }else{ return forward; } } public String toLogin(){ return SUCCESS; } public UserDTO getModel() { if(user==null){ user=new UserDTO(); } return user; } } ------------------------------------------------------------------------------------------------------------------------------ User_toLogin.jsp页面: <form action="user/User_doLogin"> <table> <tr> <td>用户名</td> <td><input type="text" name="name"></td> <td> </td> </tr> <tr> <td>密 码</td> <td><input type="text" name="pass"></td> <td> </td> </tr> <tr> <td><input type="submit" value="sure" ></td> <td><input type="reset" value="reset" ></td> <td> </td> </tr> </table> </form> &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 另外,在介绍一种通过HttpServletRequest request 传参方式 import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; /** * 获取request参数的方式 *HttpServletRequest request 传参方式 * */ public class UserAction extends ActionSupport{ public String doLogin(){ //获取request对象 HttpServletRequest request=ServletActionContext.getRequest(); //获取session对象 //HttpSession session=request.getSession(); String name=request.getParameter("name"); String pass=request.getParameter("pass"); String forward="input"; if("wepull".equalsIgnoreCase(name)&&"123".equalsIgnoreCase(pass)){ return SUCCESS; }else{ return forward; } } public String toLogin(){ return SUCCESS; } }
相关文章推荐
- HDFS常用的Java Api详解
- java 图形用户界面基础
- actionsupport以及struts验证功能
- leetcode:Rotate Image 【Java】
- Java遇见HTML——JSP篇之JSP内置对象(上)
- springMVC-2
- 详解spring mvc 3.0常用注解
- Java内部类
- spring@Transactional注解解决事务处理问题
- [Spring] 注入Bean属性
- Struts2国际化介绍及详细说明
- 20144303石宇森 《Java程序设计》第2周学习总结
- Java程序中多线程的优先级设置方法
- java程序设计基础_陈国君版第五版_第十一章例题
- 深入Java虚拟机读书笔记之执行子系统
- java异常处理
- [Java实现]吸血鬼数字问题的坑和尝试
- Java关于equals用法陷阱
- 20145329 《JAVA程序设计》课后习题代码编写总结
- 20145212 《Java程序设计》第2周学习总结