首页 > 其他分享 >Spring MVC复杂数据绑定-绑定数组

Spring MVC复杂数据绑定-绑定数组

时间:2025-01-14 16:33:17浏览次数:3  
标签:删除 课程 Spring 绑定 MVC jsp 页面

【图书介绍】《Spring+Spring MVC+MyBatis从零开始学(视频教学版)(第3版)》_【新华文轩】spring+spring mvc+mybatis从零开始学(视频教学版) 第3版 正版-CSDN博客

《Spring+Spring MVC+MyBatis从零开始学(视频教学版)(第3版)》(杨章伟,刘祥淼)【摘要 书评 试读】- 京东图书

【图书介绍】案例可借鉴的Spring应用开发书-CSDN博客

Spring MVC简单数据绑定-CSDN博客

在实际项目开发中,除简单数据类型外,还会经常遇到一些比较复杂的数据绑定问题,比如数组的绑定、集合的绑定,本节将具体讲解数组绑定和集合绑定的使用。

12.3.1  绑定数组

在实际开发中,可能会遇到前端请求需要传递到后台一个或多个相同名称参数的情况(如批量删除),此时不适合采用简单数据绑定,而可以使用绑定数组的方式。

【示例12-5】下面通过一个批量删除用户的例子来详细讲解绑定数组的操作。

 在chapter12项目的WEB-INF/jsp目录下创建一个展示课程信息的列表页面course.jsp,代码如文件12.11所示。

文件12.11  course.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}/deleteCourse" method="post">
11				<table>
12					<tr>
13					<td>选择</td>
14					<td>课程名</td>
15					</tr>
16					<tr>
17					<td><input name="ids" value="1" type="checkbox"></td>
18					<td>JAVA程序设计</td>
19					</tr>
20					<tr>
21					<td><input name="ids" value="2" type="checkbox"></td>
22					<td>MySQL数据库</td>
23					</tr>
24					<tr>
25					<td><input name="ids" value="3" type="checkbox"></td>
26					<td>JavaEE应用开发</td>
27					</tr>
28				</table>
29				<input type="submit" value="删除"/>
30			</form>
31		</body>
32	</html>

在上述页面代码中定义了3个name属性相同而value属性值不同的复选框控件,并在每一个复选框对应的行中编写了一个对应课程。在单击“删除”按钮执行删除操作时,表单会提交到一个以“/ deleteCourse”结尾的请求中。

 在控制器类CourseController中,编写接收批量删除课程的方法(同时为了方便向课程列表页面跳转,还需增加一个向course.jsp页面跳转的方法),其代码如文件12.12所示。

文件12.12  CourseController.java

01	package com.ssm.controller;
02	import org.springframework.stereotype.Controller;
03	import org.springframework.web.bind.annotation.RequestMapping;
04	import org.springframework.web.bind.annotation.RequestParam;
05	@Controller
06	public class CourseController {
07	    //向课程页面跳转
08		@RequestMapping("/toCourse")
09		public String toCourse(){
10			return "course";
11		}
12	     //删除课程
13		@RequestMapping("/deleteCourse")
14		public String deleteCourse(@RequestParam(value="ids",required=false) Integer[] ids){
15			if(ids!=null){
16				//使用输出语句模拟已经删除的课程
17				for(Integer id:ids){
18			   	   	System.out.println("删除了id为"+id+"的课程");
19				}
20			}else{
21			   	System.out.println("ids=null");
22			}
23			return "success";
24		}
25	}

在上述代码中,首先定义了一个向课程列表页面course.jsp跳转的方法toCourse(),然后定义了一个接收前端批量删除用户的方法。在删除方法中使用了Integer类型的数组进行数据绑定,并通过for执行具体数据的删除操作。

 发布并启动项目,在浏览器中访问地址http://localhost:8080/chapter12_war_exploded /toCourse,显示效果如图12.8所示。

图12.8  运行结果course.jsp课程列表页面

勾选图12.8所示的界面中的全部复选框,然后单击“删除”按钮,程序在正确执行后会跳转到success.jsp页面。此时控制台的打印信息如图12.9所示。从图12.9所示的结果中可以看出,已成功执行了批量删除操作,这说明已成功实现了数组类型的数据绑定。

图12.9  运行结果

标签:删除,课程,Spring,绑定,MVC,jsp,页面
From: https://blog.csdn.net/brucexia/article/details/145141965

相关文章

  • springboot毕设 发电站 程序+论文
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景发电站作为现代社会能源供应的核心设施,其高效、安全与可持续运营对于国家经济发展和民众日常生活至关重要。随着科技的进步和能源结构的转型,发电站不......
  • springboot毕设 冬季奥运会校园招生系统的设计与实现 程序+论文
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着冬季奥林匹克运动的全球普及与影响力日益增强,越来越多的年轻人对冰雪运动产生了浓厚的兴趣。为了响应国家关于冰雪运动进校园的号召,提升青少年对......
  • springboot毕设 高校教室管理系统 程序+论文
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着高等教育事业的蓬勃发展,高校规模不断扩大,教室作为教学活动的基本单元,其管理效率直接影响到教学秩序的稳定与教学质量的提升。传统的人工管理方式......
  • springboot毕设 服装网络购物系统 程序+论文
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着互联网技术的迅猛发展和电子商务的日益普及,网络购物已成为现代消费者日常生活中不可或缺的一部分。服装作为消费者网购的主要商品类别之一,其市场......
  • springboot助农商城小程序-计算机设计毕业源码34035
    目 录摘要1绪论1.1研究背景1.2 研究意义1.3论文结构与章节安排2系统分析2.1可行性分析2.2系统流程分析2.2.1用户登录流程2.2.2 数据删除流程2.3 系统功能分析2.3.1功能性分析2.3.2非功能性分析2.4 系统用例分析2.5本章小结3 系......
  • springboot校园兼职平台-计算机设计毕业源码26261
    摘要校园兼职平台作为连接学生和校园兼职资源的重要桥梁,具有推动校园就业服务和学生职业发展的重要作用。本项目旨在基于SpringBoot后端框架和Vue前端框架,设计和实现一个高效、便捷的校园兼职平台。通过该平台,学生可以轻松浏览、搜索和申请各类校园兼职岗位,实现校园资源的最......
  • springboot校园兼职平台-计算机设计毕业源码26261
    摘要校园兼职平台作为连接学生和校园兼职资源的重要桥梁,具有推动校园就业服务和学生职业发展的重要作用。本项目旨在基于SpringBoot后端框架和Vue前端框架,设计和实现一个高效、便捷的校园兼职平台。通过该平台,学生可以轻松浏览、搜索和申请各类校园兼职岗位,实现校园资源的最......
  • springboot投票管理系统-计算机设计毕业源码33128
    摘 要本文介绍了基于微信小程序和SpringBoot的投票管理系统的设计与实现。该系统结合了移动互联网技术和后端开发框架,旨在为各类组织或活动提供一个高效、便捷、用户友好的在线投票平台。系统采用微信小程序作为前端展示与交互界面,用户无需下载安装即可通过微信快速访......
  • 【spring boot 常用注解】
    SpringBoot中常用的注解,解释它们的作用、使用场景及示例,帮助深入理解SpringBoot的核心功能。一、基本注解1.@SpringBootApplication作用:这是一个组合注解,用来标记SpringBoot应用的启动类。它结合了@Configuration、@EnableAutoConfiguration和@ComponentScan......
  • 基于SpringBoot+Vue的大型超市数据处理系统的设计与实现(源码+lw+部署+讲解)
    文章目录1.前言2.详细视频演示3.具体实现截图4.技术可行性分析5.技术简介5.1后端框架SpringBoot5.2前端框架Vue5.3系统开发平台6.系统架构设计7.程序操作流程8.业务流程设计9.为什么选择我们9.1自己的公众号9.2海量实战案例10.代码参考11.数据库参考12.源码及文档获取......