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

目录
相关文章
|
6天前
|
Java
java代码优化:判断内聚到实体对象中和构造上下文对象传递参数
通过两个常见的java后端实例场景探讨代码优化,代码不是优化出来的,而是设计出来的,我们永远不可能有专门的时间去做代码优化,优化和设计在平时
24 15
|
3月前
|
存储 Java
JVM知识体系学习四:排序规范(happens-before原则)、对象创建过程、对象的内存中存储布局、对象的大小、对象头内容、对象如何定位、对象如何分配
这篇文章详细地介绍了Java对象的创建过程、内存布局、对象头的MarkWord、对象的定位方式以及对象的分配策略,并深入探讨了happens-before原则以确保多线程环境下的正确同步。
70 0
JVM知识体系学习四:排序规范(happens-before原则)、对象创建过程、对象的内存中存储布局、对象的大小、对象头内容、对象如何定位、对象如何分配
|
7月前
|
IDE Java 编译器
深入解析JAVA注解:元数据如何改变编程世界
【6月更文挑战第29天】Java注解,作为元数据机制,为代码增添上下文信息,改变编程方式。注解标记在类、方法等上,不直接影响执行,但为编译器等提供额外信息。分为元注解、编译时和运行时注解,用于元数据提供、代码简化、提高可读性及自动化。示例展示了定义`@Loggable`注解来标记日志记录方法。注解广泛应用于依赖注入、ORM、Web服务等,提升效率和灵活性,是现代Java开发的关键。未来其应用将更广泛。
101 3
|
8月前
|
前端开发 JavaScript
怎样使用接口引用数据
怎样使用接口引用数据
|
8月前
|
存储 JavaScript 前端开发
对象和类:JS是一种基于对象的语言,可以创建和使用自定义对象。ES6引入了类的概念,使得面向对象编程更加方便。
对象和类:JS是一种基于对象的语言,可以创建和使用自定义对象。ES6引入了类的概念,使得面向对象编程更加方便。
46 0
|
设计模式 存储 Java
JAVA设计模式11:组合模式,以统一的方式处理单个对象和组合对象
JAVA设计模式11:组合模式,以统一的方式处理单个对象和组合对象
188 0
|
设计模式 Java 数据库连接
JAVA设计模式8:装饰模式,动态地将责任附加到对象上,扩展对象的功能
JAVA设计模式8:装饰模式,动态地将责任附加到对象上,扩展对象的功能
|
存储 SQL Java
《JavaSE-第七章》之抽象的类-实例的对象-合理的封装
《JavaSE-第七章》之抽象的类-实例的对象-合理的封装
108 0
Java——三大特性之一:封装(概念理解+应用举例)
Java——三大特性之一:封装(概念理解+应用举例)
Java——三大特性之一:封装(概念理解+应用举例)