您的位置:首页 > 编程语言 > Java开发

struts2使用域模型传递参数

2016-04-07 10:46 399 查看
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"/> 

总结:刚开始一直没有获取到输入的值,到后来才知道是表单提交的值没有 获取到。还是解决了这个问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: