struts2是一个优秀的框架,他的出现让我们和Servlet说good bye,从此以后我们用Action类即可完成以前复杂,冗余的操作。
我们知道在Servlet时代,我们通过request获取到参数,我们还需要进行一系列封装和处理,最终将其传递,而struts2已经帮我们解决了这些问题,让我们更专注于业务,而非这类重复的、机械性的代码的书写。下面我介绍三种参数处理机制。
准备工作:
1、struts.xml

2、web.xml

3、hello.jsp

4、form1.jsp

一、成功跑起来,说明struts2已经自动帮我们将form表达提交的数据封装成了属性,这就是所谓的属性驱动机制



二、struts2的对象驱动机制
实际开发中,form表单提交的数据会有很多,所以要在Action中写属性的话,get和set方法将写得很多,不太适合开发,所以衍生出了所谓的对象驱动机制
首先建立一个User实体类

form表单

然后书写Action类

跑起来的效果:

说明数据已经封装到对象之中了。
三、模型驱动机制
由于使用对象驱动时,form表单的name需要书写出对象.属性的格式,不太妥当,进而产生了模型驱动机制,者是基于对象驱动的,称之为改良版对象驱动。
Action类

form表达填写正常的name即可
运行结果

敲黑板:1、在开发中,一般使用第三种模型驱动机制用来获取参数并封装成对象,需要注意的是,需要给Action类实现一个ModelDriven<>接口,并且重写它的方法,返回需要封装的对象。
2、这三种获取参数的底层都是OGNL所完成的

本文介绍了Struts2框架中的三种参数处理方式:属性驱动、对象驱动和模型驱动机制。属性驱动简化了从前端获取参数的过程;对象驱动适用于处理表单中大量数据的情况;模型驱动则进一步改进了对象驱动,在保持简洁的同时提高了代码的可维护性。
8908

被折叠的 条评论
为什么被折叠?



