Struts2三种传值方法

来源:互联网 发布:java multipartfile 编辑:程序博客网 时间:2024/06/05 06:18

Struts2三种传值方法:

  1. Model方法传值(最简单)
  2. DomainModel(域模型)方法传值(工程中最常用)
  3. ModelDriven(模型驱动)传值(不推荐)

ü  Model方法传值

在Action中定义与表单名字相同的String变量,并给出getter和setter方法,Struts2底层会自动将表单的值传给Action中的变量。

HTML表单

<form method="post" action="Student_reg!reg"><input type="text" name="username"><br><input type="text" name="password"><br><input type="submit"><input type="reset"></form>

Struts.xml配置

<struts><constant name="struts.devMode" value="true"></constant><package name="default" namespace="/" extends="struts-default"><action name="Student_*" class="cn.potato.action.StudentAction"><result name="{1}">/Student_{1}_success.jsp</result></action></package></struts>   


Action类

public class StudentAction{private String username;private String password;public String reg(){System.out.println(username);System.out.println(password);return "reg";}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}

ü  DomainModel(域模型)方法传值

         通过getUser方法将A对象传给Struts2,Struts2调用setter方法进行赋值。

域模型

public class A {private String username;private String password;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}

Action类

public class StudentAction{private A user;public String reg(){System.out.println(user.getUsername());System.out.println(user.getPassword());return "reg";}public A getUser() {return user;}public void setUser(A user) {this.user = user;}}

ü  ModelDriven(模型驱动)传值

         Action类中自己new出A对象,然后利用getModel()把它传给Struts2,Struts2调用它的setter方法。

Action类

public class StudentAction extends ActionSupport implements ModelDriven<A>{private A user=new A();public String reg(){System.out.println(user.getUsername());System.out.println(user.getPassword());return "reg";}public A getModel() {// TODO Auto-generated method stubreturn user;}}



原创粉丝点击