初识Struts2_获取参数
一、domain
1 package cn.su.domain; 2 3 public class User { 4 public String name;
/*要想struts2正确的赋值,domain类的属性也要提供set方法*/ 5 public void setName(String name) { 6 this.name = name; 7 } 8 }
二、Action
1 package cn.su.action; 2 3 import cn.su.domain.User; 4 5 import com.opensymphony.xwork2.ActionSupport; 6 import com.opensymphony.xwork2.ModelDriven; 7 8 public class UserAction extends ActionSupport implements ModelDriven<User> { 9 /*struts2给属性赋值*/ 10 /*方式一 11 * 给普通属性str赋值 12 * 先给属性加上set方法 13 * 并在前台提交参数 str="Ross" 14 * */ 15 private String str; 16 public void setStr(String str) { 17 this.str = str; 18 } 19 /*方式二 20 * 给对象属性user1赋值 21 * 先给属性加上set方法 22 * 并在前台提交参数 user1.name="Jack" 23 * */ 24 private User user1; 25 public void setUser1(User user1) { 26 this.user1 = user1; 27 } 28 /*方式三 29 * 给对象属性user2赋值 30 * 实现ModelDriven接口 getModel() 31 * 并且要new出对象user2 32 * 前台提交参数name="Tom" 33 * */ 34 private User user2 = new User(); 35 public User getModel() { 36 return user2; 37 } 38 @Override 39 public String execute(){ 40 /*前台访问路径:http://localhost:8080/Struts2_Param/UserAction?name=Tom&user1.name=Jack&str=Ross*/ 41 /*打印获取的信息*/ 42 System.out.println("str="+str); 43 System.out.println("user1.name="+user1.name); 44 System.out.println("user2.name="+user2.name); 45 return SUCCESS; 46 /* 47 * 控制台输出: 48 * str=Ross 49 user1.name=Jack 50 user2.name=Tom 51 * */ 52 } 53 }
三、配置文件
1 <package name="default" namespace="/" extends="struts-default"> 2 <action name="UserAction" class="cn.su.action.UserAction"> 3 <result name="success">/index.jsp</result> 4 </action> 5 </package>