Struts2框架的数据封装一之属性封装(属性封装的第二种方式:封装成javaBean)
Posted wyhluckydog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts2框架的数据封装一之属性封装(属性封装的第二种方式:封装成javaBean)相关的知识,希望对你有一定的参考价值。
Struts2中提供了两类数据封装的方式?
第一种方式:属性驱动(有两种方式:一个对属性,另外一个是将参数封装到javaBean中)
B. 在页面上,使用OGNL表达式进行数据封装。(将参数封装到javaBean中)
* 在页面中使用OGNL表达式进行数据的封装,就可以直接把属性封装到某一个JavaBean的对象中。
* 在页面中定义一个JavaBean,并且提供set方法:例如:private User user;
* 页面中的编写发生了变化,需要使用OGNL的方式,表单中的写法:<input type="text" name="user.username">
* 注意:只提供一个set方法还不够,必须还需要提供user属性的get和set方法!!!
> 先调用get方法,判断一下是否有user对象的实例对象,如果没有,调用set方法把拦截器创建的对象注入进来,
例:
1.书写javaBean类User:
package com.huida.domain;
public class User {
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;
}
@Override
public String toString() {
return "User [username=" + username + ", password=" + password + "]";
}
}
2.写对应的action类,Regist2Action:
package com.huida.action1;
import com.huida.domain.User;
import com.opensymphony.xwork2.ActionSupport;
public class Regist2Action extends ActionSupport{
//属性驱动不需要手动实例化
private User user;
//提供set和get方法
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
@Override
public String execute() throws Exception {
System.out.println(user);
return NONE;
}
}
3.对action进行配置:
<package name="demo" namespace="/" extends="struts-default"> <action name="regist2Action" class="com.huida.action1.Regist2Action"></action> </package>
4.在index.jsp中写对应的表单,这里注意表单的中name对应值的变化,应该写为user.username:
<h3>属性驱动封装数据,封装到javaVean中</h3>
<form action="${ pageContext.request.contextPath }/regist2Action.action" method="post">
姓名<input type="text" name="user.username"/><br/>
密码<input type="text" name="user.password"/><br/>
<input type="submit" value="注册">
</form>
启动服务器,执行index.jsp页面,然后输入姓名和密码,点击注册,在控制台上输出如下内容表示封装数据成功:
以上是关于Struts2框架的数据封装一之属性封装(属性封装的第二种方式:封装成javaBean)的主要内容,如果未能解决你的问题,请参考以下文章
struts2获取表单数据之 属性封装 模型驱动 表达式封装 对象封装到list集合 对象封装到map集合 五种方便的封装方式