论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
物联网
›
物联网
›
Spring MVC复杂数据绑定-绑定聚集
Spring MVC复杂数据绑定-绑定聚集
反转基因福娃
金牌会员
|
2025-1-17 14:42:53
|
显示全部楼层
|
阅读模式
楼主
主题
909
|
帖子
909
|
积分
2727
【图书先容】《Spring+Spring MVC+MyBatis从零开始学(视频教学版)(第3版)》_【新华文轩】spring+spring mvc+mybatis从零开始学(视频教学版) 第3版 正版-CSDN博客
《Spring+Spring MVC+MyBatis从零开始学(视频教学版)(第3版)》(杨章伟,刘祥淼)【择要 书评 试读】- 京东图书
【图书先容】案例可借鉴的Spring应用开辟书-CSDN博客
Spring MVC简单数据绑定-CSDN博客
在项目中,前端请求传递过来的数据可能会批量包含各种类型的数据,如Integer、String等。这种情况使用数组绑定是无法实现的。针对这种情况,可以使用聚集数据绑定,即在包装类中界说一个包含对象类的聚集,然后在接收方法中将参数类型界说为该包装类的聚集。
【示例12-6】下面以批量修改用户为例解说一下聚集数据绑定的使用。
在src目次下创建一个com.ssm.vo包,并在包中创建包装类UserVo来封装课程聚集属性,代码如文件12.13所示。
文件12.13 UserVo.java
01 package com.ssm.vo;
02 import java.util.List;
03 import com.ssm.po.User;
04 /*
05 * 用户包装类
06 */
07 public class UserVo {
08 private List<User> users; //用户列表
09 public List<User> getUsers() {
10 return users;
11 }
12 public void setUsers(List<User> users) {
13 this.users = users;
14 }
15 }
复制代码
在控制器类 UserController中编写接收批量修改用户的方法,以及向用户修改页面跳转的方法,其代码如下所示:
//向用户批量修改页面跳转
@RequestMapping("/toUserEdit")
public String toUserEdit() {
return "user_edit";
}
//接收批量修改用户的方法
@RequestMapping("/editUsers")
public String editUsers(UserVo userList){
//将所有用户数据封装到集合中
List<User> users=userList.getUsers();
for(User user:users){
if(user.getId()!=null){
System.out.println("修改了id为"+user.getId()+"的用户名为"+
user.getUsername());
}
}
return "success";
}
复制代码
在上述代码的两个方法中,通过toUserEdit()方法将跳转到user_edit.jsp页面,通过editUsers()方法将执行用户批量更新操纵;其中该方法的UserVo类型参数,用于绑定并获取页面传递过来的用户数据。
留意:在使用聚集数据绑定时,配景方法中不支持直接使用聚集形参举行数据绑定,所以必要使用包装POJO作为参数,然后在包装POJO中包装一个聚集属性。
在项目的/WEB-INF/jsp目次下创建页面文件user_edit.jsp,如文件12.14所示。
文件12.14 user_edit.jsp
01 <%@ page language="java" contentType="text/html; charset=UTF-8"
02 pageEncoding="UTF-8"%>
03 <!DOCTYPE HTML>
04 <html>
05 <head>
06 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
07 <title>修改用户</title>
08 </head>
09 <body>
10 <form action="${pageContext.request.contextPath}/editUsers" method="post">
11 <table>
12 <tr>
13 <td>选择</td>
14 <td>用户名</td>
15 </tr>
16 <tr>
17 <td><input name="users[0].id" value="1" type="checkbox"></td>
18 <td>
19 <input name="users[0].username" value="zhangsan" type="text">
20 </td>
21 </tr>
22 <tr>
23 <td><input name="users[1].id" value="2" type="checkbox"></td>
24 <td>
25 <input name="users[1].username" value="lisi" type="text">
26 </td>
27 </tr>
28 </table>
29 <input type="submit" value="修改"/>
30 </form>
31 </body>
32 </html>
复制代码
在上述页面代码中,模仿展示了id为1、用户名为zhangsan和id为2、用户名为lisi的两个用户。当单击“修改”按钮后,会将表单提交到一个以editUsers结尾的请求中。
发布并启动项目,在浏览器中访问地点http://localhost:8080/chapter12_war_exploded/ toUserEdit,表现结果如图12.10所示。
图12.10 user_edit.jsp页面
将图12.10所示页面中的用户名zhangsan改为tom,lisi改为rose,并勾选两项数据前面的复选框,然后单击“修改”按钮后,浏览器会跳转到success.jsp页面中。此时控制台的打印信息如图12.11所示。从结果中可以看出,已经成功输出请求中批量修改的用户信息,这就是聚集类型的数据绑定。
图12.11 运行结果
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
反转基因福娃
金牌会员
这个人很懒什么都没写!
楼主热帖
设计模式---组合模式
Spark快速上手(4)Spark核心编程-Spark ...
拿到12家offer,想给大家分享一下面试 ...
【Unity3D】Transform组件
如何将鸿蒙(harmonyOS)系统退回安卓 ...
写了这么久Java项目,是否还记得你的第 ...
【渗透攻击】PowerShell与Shell 有什么 ...
软件工程经济学第一章
年度重磅!《2022华为开发者宝典》多元 ...
使用 Kubeadm 部署 K8S安装
标签云
挺好的
服务器
浏览过的版块
网络安全
快速回复
返回顶部
返回列表