struts2--封装数据

struts2数据封装的三种方式:
1、属性封装:
action类中声明要封装的数据的名称(也就是表单中输入项的name的值);生成声明类的set方法。
这样就可以把表单要提交的数据封装到指定的bean对象中。
底层使用 <interceptor-ref name="params">拦截器进行的操作
2、ognl表达式:
首先要在action类中声明要封装的数据名称(也就是表单中输入项的name的值);生成声明类get和set方法;
表单属性编写为<intput type="text" name="数据名称.JavaBean的属性名称">  
3、实现接口ModelDriven
表单中的name属性为JavaBean的属性名称;在action中实现ModelDriven接口并实现它的getModel()方法;
在action中创建一个新的JavaBean对象,并在getModel方法中返回此对象。
底层使用 <interceptor-ref name="modelDriven"/>拦截器进行操作

2与3的区别:
2可以实现向多个JavaBean中封装数据,而3不可以。
写法就是在action中声明多个JavaBean,在表单中添加多个name属性[与JavaBean的属性名一致]

struts2实现mvc思想:
过滤器:发送请求首先到过滤器,它用来分发不同的请求到不同的action中[c:控制器]
action:不能单纯为M,如果只是处理数据就是M,但action也负责分发转向那么它就是C。
result:action返回的页面[v:视图]

struts2封装数据到list集合:
在表单输入项的name属性值 list[0].属性的名称:
username1:<input type="text" name="list[0].username"/>
在action里面声明list集合,生成list的get和set方法

封装数据到map集合:
指定向哪个key里面设置value值
表单中map['key名称'].属性的值
在action里面声明map集合,生成map的set和get方法

猜你喜欢

转载自jackpot1234.iteye.com/blog/2311493
今日推荐