Struts2封装数据的操作
来源:互联网 发布:最优化方法张薇答案 编辑:程序博客网 时间:2024/04/29 08:44
*在Action类中的传统封装方式:
//获取表单中的数据HttpServletRequest request = ServletActionContext.getRequest();String username = request.getParameter("username");String password = request.getParameter("password")//封装到实体类user对象中User user = new User();user.setUsername(username);user.setPassword(password);
传统方式的缺点:当表单中的数据太多时,传统封装方式的效率是比较低的,代码量也会变得非常大。所以一般不采用这种方式封装方式。下面我们来看一些比较常用的封装方式:
*属性封装:
1、把表单提交的数据封装到Action类的属性里。
//Action类的代码public class DataResultAction extends ActionSupport{//成员属性private String username;private String password; //set和get方法 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 execute(){System.out.println(username+":::"+password);return NONE;}}注意:成员变量名称必须和表单输入项的name属性值相同,否则底层就会匹配不到。2、form表单的具体实现:
<!-- data4Result.action为struts.xml文件中action标签上的name值 --><form action="${pageContext.request.contextPath }/data4Result.action" method="post">username:<input type="text" name="username"/>password:<input type="password" name="password"/><br/><input type="submit" value="提交"/></form>
属性封装是将表单中的数据封装到了Action类的属性中,并没有将数据封装到对象中,所以需要在特定的场合下使用。(当然属性封装也是可以实现对对象的封装的,但是运用的不多,有兴趣的朋友可以了解一下)。*模型驱动封装(这种封装方法是最常用的)
理解:模型驱动封装是直接将表单中的提交的数据封装到实体类对象中。
具体实现:
1、让Action类实现接口ModelDriven
2、实现接口里面的getModel方法
3、在Action类中成员位置建立实体类对象
Action类代码如下:
public class Data3ResultAction extends ActionSupport implements ModelDriven<User>{//创建实体类//确保表单属性name值要和实体类属性一样,因为底层是通过这个匹配的private User user = new User(); //将user对象放入到request中,从而跳转到“user”对应的页面上。 public String execute(){HttpServletRequest request = ServletActionContext.getRequest();request.setAttribute("user", user);return "user";}//封装实体类的方法。@Overridepublic User getModel() {// TODO Auto-generated method stubreturn user;}}而至于form表单中的代码跟属性封装中的form表单中代码一样,就不再赘述了。模型驱动封装是在struts表单封装中应用的最为广泛的一种封装方式,所以我们一定要掌握这种方式。
(这篇博客与上一篇的structs2的核心配置文件的执行流程分析有一定关联,有不清楚的地方可以浏览此地址:点击打开链接)
0 0
- Struts2封装数据的操作
- Struts2数据的封装
- 【5】Struts2的数据的封装
- 数据操作的封装--sqlhelper
- 数据和操作的封装
- struts2中基于表单数据的封装
- ssh学习:struts2的数据封装
- Struts2 封装集合或Map的数据
- struts2的封装数据核心机制
- Struts2数据封装
- Struts2数据封装机制
- Struts2 数据封装机制
- Struts2 数据封装机制
- Struts2数据封装
- Struts2数据封装
- Struts2之数据封装
- Struts2数据封装
- Struts2数据封装机制
- 安卓卡顿ANR测试
- 一个“坑”的故事
- 逻辑回归
- 策略模式(行为型)
- Android中常用单位和日志(LogCat)的使用
- Struts2封装数据的操作
- ubuntu+tomcat+mySQL
- Windows socket 编程汇总
- 动态规划算法的基本要素
- 十一行记
- android 7.0源码下载
- 用记事本编写Java程序并在命令窗口下运行
- MAC 修改文件夹以及子文件夹和子文件权限 以及 修改文件夹owner
- 13计本2班安卓程序开发第一次实验单