1:兴建一个user类,在里面定义user的各个属性
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;
}
}
2:在action中兴建一个类,创建一个user对象,使用对象调用user的属性
public class UserAction extends ActionSupport {
private User user;
//private UserDTO userDTO;
public String add() {
System.out.println("ssssssss");
System.out.println("ssssssss");
System.out.println("ssssssss");
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;
}
}
3:struts.xml文件
<struts>
<constant name="struts.devMode" value="true" />
<package name="user" extends="struts-default">
<action name="user" class="com.bjsxt.struts2.user.action.UserAction" method="add">
<result>/user_add_success.jsp</result>
</action>
</package>
</struts>
4:利用表单提交数据 (调用方法最好还是动态调用,这里为了方便就直接使用method="add"指定死了)
注意:在这里使用表单,服务器要用user.name来获取值,这就是使用对象传递值的一个不同之处。
<form action="user.action" method="get">
姓名:<input type="text" name="user.name" ><br>
年龄:<input type="text" name="user.age" ><br>
<input type="submit">
</form>
5:测试程序是否成功,得到输入的值(EL表达式和action属性获取值都可以)
User Add Success!<br>
${user.name}
<s:property value="user.age"/>
总结:刚开始一直没有获取到输入的值,到后来才知道是表单提交的值没有 获取到。还是解决了这个问题。