欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Struts2三种传参方式(从jsp页面传到Action)

发布时间:2025/6/15 编程问答 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Struts2三种传参方式(从jsp页面传到Action) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
多的不说,直接上代码;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; }}

总结

以上是生活随笔为你收集整理的Struts2三种传参方式(从jsp页面传到Action)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。