Struts2 获取表单数据到实体的三种方法
来源:互联网 发布:测试心理的软件 编辑:程序博客网 时间:2024/06/07 09:18
方法一:属性封装
(1)在action中声明属性成员变量,要求变量的名称和表单中name的名称一致,表单内容代码如下:
<form name="form1" method="post" action="${pageContext.request.contextPath }/data1.action">
姓名:<input name="username" type="text"/><br/>
密码:<input name="password" type="text"/><br/>
地址:<input name="address" type="text"/><br/>
<input type="submit" value="提交">
</form>
action中代码如下:
public class UserInfo extends ActionSupport {
private String username;
private String password;
private String address;
@Override
public String toString() {
return "UserInfo [getUsername()=" + getUsername() + ", getPassword()="
+ getPassword() + ", getAddress()=" + getAddress() + "]";
}
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;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String execute()
{
System.out.println(toString());
return NONE;
}
}
配置代码如下:
<action name = "data1" class = "com.data.UserInfo"></action>
方法二:模型驱动封装
(1)在action中实现接口ModelDriven
(2)实现接口里面的getModel方法,返回建立的对象
(3)在action 中手动建立实体类。(前提要求:表单输入项name与实体成员变量名称相同)
action中的代码如下:
public class data2 extends ActionSupport implements ModelDriven<UserInfo>{
private UserInfo ui = new UserInfo();
@Override
public UserInfo getModel() {
// TODO Auto-generated method stub
return ui;
}
public String execute()
{
System.out.println(ui);
return NONE;
}
}
方法三:属性表达式封装
(1)在action中声明一个实体类
(2)在action中生成实体类的set和get方法
(3)在表单输入name的使用 实体类.name 的方式
表单代码如下:
<form name="form1" method="post" action="${pageContext.request.contextPath }/data3.action">
姓名:<input name="userinfo.username" type="text"/><br/>
密码:<input name="userinfo.password" type="text"/><br/>
地址:<input name="userinfo.address" type="text"/><br/>
<input type="submit" value="提交">
</form>
action中的代码如下:
public class data3 extends ActionSupport {
private UserInfo userinfo;
public UserInfo getUserinfo() {
return userinfo;
}
public void setUserinfo(UserInfo userinfo) {
this.userinfo = userinfo;
}
public String execute()
{
System.out.println(userinfo);
return NONE;
}
}
模型驱动与属性封装的区别:
(1)模型驱动一次只能给一个实体类赋值,如果表单中数据想要分别赋值给两个实体类,该方法做不到
(2)属性封装就可以做到,代码如下:
action 中代码如下:
public class data3 extends ActionSupport {
private UserInfo userinfo;
private User2 user2;
public User2 getUser2() {
return user2;
}
public void setUser2(User2 user2) {
this.user2 = user2;
}
public UserInfo getUserinfo() {
return userinfo;
}
public void setUserinfo(UserInfo userinfo) {
this.userinfo = userinfo;
}
public String execute()
{
System.out.println(userinfo +"\n" + user2);
return NONE;
}
}
表单中的代码如下:
<form name="form1" method="post" action="${pageContext.request.contextPath }/data3.action">
姓名:<input name="userinfo.username" type="text"/><br/>
密码:<input name="userinfo.password" type="text"/><br/>
地址:<input name="userinfo.address" type="text"/><br/>
性别:<input name="user2.sex" type="text"/><br/>
<input type="submit" value="提交">
</form>
- Struts2 获取表单数据到实体的三种方法
- Struts2 获取表单数据到实体的三种方法
- struts2 中获取表单数据的三种方法
- Struts2获取表单的三种常见的方法
- struts2 Action获取表单传值的三种方法
- PHP获取表单数据的三种方法
- struts2学习(二)—action获取表单提交数据的三种方式
- 获取表单数据的四种方法
- Struts2获取表单数据
- Struts2获取request的三种方法
- Struts2中接收表单数据的三种驱动方式
- struts2.0获取各种表单的数据
- struts2.0获取各种表单的数据
- Struts2获取表单数据的方式
- Struts2框架中action无法获取到jsp页面传递的表单数据的解决办法
- Struts2中Action获得表单数据的几种方法
- Struts2中Action获得表单数据的几种方法
- Struts2中Action取得表单数据的几种方法
- 串口发送数据——字符串发送与十六进制发送的区别
- Mina简介
- poj 2356 鹊巢原理
- php获取时间
- 机器学习算法(精简版)
- Struts2 获取表单数据到实体的三种方法
- bzoj1303
- Spark(1)-初识Pyspark
- opencv笔记(11):SIFT特征
- 角谷猜想
- Oracle 11gR2 GI安装时的等效性问题
- java分割字符
- Python入门经典学习1-乳腺癌分类问题
- 麦子