• Struts2中类数据封装的方式


    第一种方式:属性驱动
    提供对应属性的set方法进行数据的封装。
    表单的哪些属性需要封装数据,那么在对应的Action类中提供该属性的set方法即可。
    表单中的数据提交,最终找到Action类中的setXxx的方法,最后赋值给全局变量。
    注意:
    a:Struts2的框架采用的拦截器完成数据的封装。
    b:这种方式不是特别好:因为属性特别多,提供特别多的set方法,而且还需要手动将数据存入到对象中.
    c:这种情况下,Action类就相当于一个JavaBean,就没有体现出MVC的思想,Action类又封装数据,又接收请求处理,耦合性较高。

    在页面上,使用OGNL表达式进行数据封装。
    在页面中使用OGNL表达式进行数据的封装,就可以直接把属性封装到某一个JavaBean的对象中。
    在页面中定义一个JavaBean,并且提供set方法:例如:private User user;
    页面中的编写发生了变化,需要使用OGNL的方式,表单中的写法:<input type="text" name="user.username">

    注意:只提供一个set方法还不够,必须还需要提供user属性的get和set方法!!!
    先调用get方法,判断一下是否有user对象的实例对象,如果没有,调用set方法把拦截器创建的对象注入进来,

    第二种方式:模型驱动
    使用模型驱动的方式,也可以把表单中的数据直接封装到一个JavaBean的对象中,并且表单的写法和之前的写法没有区别!
    编写的页面不需要任何变化,正常编写name属性的值
    模型驱动的编写步骤:
    手动实例化JavaBean,即:private User user = new User();
    必须实现ModelDriven<T>接口,实现getModel()的方法,在getModel()方法中返回user即可!!

  • 相关阅读:
    Windows 操作系统引导过程 BIOS & EFI
    Mac 系统引导过程概述 & BootCamp 的秘密
    Windows 10 安装 Ubuntu 子系统
    nrm 安装及报错处理
    司马懿人物关系
    大江大河
    曹操人物关系
    必要条件探路(导数)
    该题七种想法(一题一课之外接球)
    欧拉-查柏(Euler-Chapple)公式及其推广
  • 原文地址:https://www.cnblogs.com/ncl-960301-success/p/7574887.html
Copyright © 2020-2023  润新知