Struts2中Action接收传递的参数有 三种方式:
1.用Action的属性接收参数:
struts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <constant name="struts.devMode" value="true" /> <package name="font" namespace="/user" extends="struts-default"> <action name="user" class="com.zhang.HelloAction"> <result > /Studentadd_success.jsp </result> </action> </package> </struts>
HelloAction.java
package com.zhang; import com.opensymphony.xwork2.ActionSupport; public class HelloAction extends ActionSupport { private String name; private int age; public String add() { System.out.println("name="+name); System.out.println("age="+age); return SUCCESS; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }步骤:
.定义:在Action类中定义属性,创建get和set方法;
访问:使用属性名传递参数,如:http://localhost:8080/Struts2_03/user/user!add?name=aa&age=10
2.用DomainModel接收参数:
HelloAction.java
package com.zhang; import com.opensymphony.xwork2.ActionSupport; public class HelloAction extends ActionSupport { private User user; public String add() { System.out.println("name="+user.getName()); System.out.println("age="+user.getAge()); return SUCCESS; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } }
package com.zhang; public class User { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }步骤:
定义:定义Model类,在Action中定义Model类的对象(不需要new),创建该对象的get和set方法;
接收:通过对象的属性接收参数,如:user.getName();
访问:使用对象的属性传递参数,如:http://localhost:8080/Struts2_04/user/user!add?user.name=a&user.age=10
3.用ModelDriven接收参数
HelloAction.java
package com.zhang; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; public class HelloAction extends ActionSupport implements ModelDriven<User> { private User user = new User(); public String add() { System.out.println("name="+user.getName()); System.out.println("age="+user.getAge()); return SUCCESS; } public User getModel() { return user; } }
package com.zhang; public class User { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }步骤
定义:Action实现ModelDriven泛型接口,定义Model类的对象(必须new),通过getModel方法返回该对象;
访问:直接使用属性名传递参数,如:http://localhost:8080/Struts2_04/user/user!add?name=a&age=10
Struts2中Action接收传递的参数,布布扣,bubuko.com
原文:http://blog.csdn.net/jiangnan2014/article/details/20999801