struts2中的参数传递
struts2中一般采用域模型传递参数的做法比较常用,举例说明:
1、 jsp中调用Action
<a href="Student_add.action?user.username=zhangsan&user.password=123">添加学生</a>
2、 struts.xml配置文件:
<struts>
<!-- Add packages here -->
<constant name="struts.devMode" value="true" />
<package name="actions" namespace="/" extends="struts-default">
<action name="*_*" class="net.dreamcreating.{1}Action" method="{2}">
<result>/{1}_{2}_success.jsp </result>
</action>
</package>
</struts>
3、 如上配置文件可知,会调用StudentAction中的add方法。
4、 此时可以定义一个域模型:User.java,在User中包含两个属性username和password;
5、 在StudentAction中持有User的引用,生成相应的get和set方法,即可获得两个参数的值:(程序如下所示)
package net.dreamcreating;
import net.dreamcreating.model.User;
import com.opensymphony.xwork2.ActionSupport;
public class StudentAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String add() {
System.out.println(user.getUsername());
System.out.println(user.getPassword());
return SUCCESS;
}
public String del() {
return SUCCESS;
}
}