struts2封装好的三种收参方式,零散、对象、集合。

简介: struts2封装好的三种收参方式,零散、对象、集合。

收参,就是将浏览器表单页面输入的数据的值传到后台, 之前用request.getParameter()收参的时候整个过程是比较繁琐的,其缺点主要有:


1.servlet的api侵入到了action类中。Action跟servlet耦合性高。

2.程序员需要手动转换数据类型。

3.程序员需要手动封装成实体对象。

而struts2框架以其强大的功能和优雅的实现使我们的收参方式变得极为的简介轻巧。


下面介绍三种struts2中的收参方式:


1、零散数据的收集

前端页面和后台java代码如下:

首先要注意的是 表单页面中的name属性要和action中 的私有属性名字保持一致! 一定要一致,否则收不到参数,并且一定要提供getter()&&setter()方法,

然后这样Form中的数据就自动封装到了action类的属性里面。

2. 以对象形式收集数据

Action接受表单中的数据转换为实体对象


第一步,需要在entity包下先建立相应的实体类,并且提供相应的getter()&&setter()方法

第二步,在Action类中声明私有的对象引用。且也要提供相应的getter()&&setter()方法。

第三步,然后在页面表单name属性中就可以直接写引用名.属性名  然后台就可以获取到相应的值了。

获取用get方法获取,例如假如想获取姓名,那就是:person.getName()


3. 以数组或者集合形式收集数据

和第一种方式其实是差不多的,比如说一个多选框,多个多选框的name属性名要一致,

然后Action收集的时候建立一个私有的集合类型的引用,比如:private List< String> list;

并且提供list的getter和setter方法

就可以收集多个数据了,并且装进一个集合里面。

这三种方式都是struts封装好的,按照这种方式就可以自动接收input传进来的值了,想了解其实现原理可以参考

struts2工作原理:https://blog.csdn.net/MacWx/article/details/93845478

目录
相关文章
|
1月前
|
Java
java代码优化:判断内聚到实体对象中和构造上下文对象传递参数
通过两个常见的java后端实例场景探讨代码优化,代码不是优化出来的,而是设计出来的,我们永远不可能有专门的时间去做代码优化,优化和设计在平时
32 15
|
4月前
|
存储 Java
JVM知识体系学习四:排序规范(happens-before原则)、对象创建过程、对象的内存中存储布局、对象的大小、对象头内容、对象如何定位、对象如何分配
这篇文章详细地介绍了Java对象的创建过程、内存布局、对象头的MarkWord、对象的定位方式以及对象的分配策略,并深入探讨了happens-before原则以确保多线程环境下的正确同步。
84 0
JVM知识体系学习四:排序规范(happens-before原则)、对象创建过程、对象的内存中存储布局、对象的大小、对象头内容、对象如何定位、对象如何分配
|
9月前
|
Java
【Java开发指南 | 第九篇】访问实例变量和方法、继承、接口
【Java开发指南 | 第九篇】访问实例变量和方法、继承、接口
79 4
|
9月前
|
前端开发 JavaScript
怎样使用接口引用数据
怎样使用接口引用数据
|
设计模式 存储 Java
JAVA设计模式11:组合模式,以统一的方式处理单个对象和组合对象
JAVA设计模式11:组合模式,以统一的方式处理单个对象和组合对象
193 0
|
Java
JAVA反射构建对象
JAVA反射构建对象
75 0
Java——三大特性之一:封装(概念理解+应用举例)
Java——三大特性之一:封装(概念理解+应用举例)
Java——三大特性之一:封装(概念理解+应用举例)
|
前端开发 JavaScript 定位技术
前端如何优雅处理类数组对象?
前端如何优雅处理类数组对象?
285 0
|
Java
使用java反射机制读取任意类内部细节
使用java反射机制读取任意类内部细节
141 0