页面提交 string数组和list对象集合举例
继前面一篇 springMVC 页面中多个对象的数据绑定 ,本文主要介绍如果实现复杂类型对象的数据绑定,比如前文中的父级对象CourseInfo 中增加:String[] times , List<Student> studentList 这两个复杂类型属性,页面中数据如何才能准确绑定到对象上呢?
参考来源:http://www.360doc.com/content/16/1022/15/37520906_600479377.shtml
【类】
public class CourseInfo {
private Course course;
private Teacher teacher;
private String[] times;
private List<Student> studentList;
}
public class Student extends IdEntity {
private String name;
private String email;
private String className;
}
【页面】
<form:form id="input-form" modelAttribute="courseInfo"
action="${ctx}/demo/course.do?method=save" method="post">
<input type="hidden" name="id" value="${course.id}" />
<fieldset class="prepend-top">
<legend>课程信息</legend>
<div id="messageBox" class="error-msg" style="display: none">输入有误,请先更正。</div>
<div>
<label for="course.name" class="field">课程名称:</label>
<input
type="text" id="course.name" name="course.name" size="20"
value="${courseInfo.course.name}" class="required" />
</div>
<div>
<label for="course.description" class="field">课程介绍:</label>
<input
type="text" id="course.description" name="course.description"
size="20" value="${courseInfo.course.description}" class="required" />
</div> <div>
<label for="teacher.name" class="field">老师姓名:</label>
<input
type="text" id="teacher.name" name="teacher.name" size="20"
value="${courseInfo.teacher.name}" class="required" />
</div>
<div>
<label for="teacher.email" class="field">老师Email:</label>
<input
type="text" id="teacher.email" name="teacher.email" size="20"
value="${courseInfo.teacher.email}" class="required" />
</div>
<div>
<label for="times" class="field">上课时间:</label>
<input type="text" id="times[0]" name="times" size="20" value="周一" class="required" />
<input type="text" id="times[1]" name="times" size="20" value="周三" class="required" />
<input type="text" id="times[2]" name="times" size="20" value="周五" class="required" />
</div> <div>
<label for="studentList[0].name" class="field">学生1姓名:</label>
<input type="text" id="studentList[0].name" name="studentList[0].name" size="20" value="学生1姓名" class="required" />
</div>
<div>
<label for="studentList[0].email" class="field">学生1Email:</label>
<input type="text" id="studentList[0].email" name="studentList[0].email" size="20" value="学生1Email" class="required" />
</div>
<div>
<label for="studentList[1].name" class="field">学生2姓名:</label>
<input type="text" id="studentList[1].name" name="studentList[1].name" size="20" value="学生2姓名" class="required" />
</div>
<div>
<label for="studentList[1].email" class="field">学生2Email:</label>
<input type="text" id="studentList[0].email" name="studentList[1].email" size="20" value="学生2Email" class="required" />
</div>
</fieldset>


页面提交 string数组和list对象集合举例的更多相关文章
- 前端页面传来数组,后台用对象集合list接收数据的写法
//保存页面显示应用$("#save").click(function(){ var data = [{"applicationtypeid":"65 ...
- springMVC接受对象集合,name数组
这两天开发遇到一个很常见的问题,即使自己一直没遇见过,不过之前看过是实现接受对象集合的代码,只不过没注意罢了 推荐一篇文章 直接贴代码吧 public class Person { private S ...
- Java技巧——将前端的对象数组通过Json字符串传到后端并转换为对象集合
Java技巧——将前端的对象数组通过Json字符串传到后端并转换为对象集合 摘要:本文主要记录了如何将将前端的对象数组通过Json字符串传到后端,并在后端将Json字符串转换为对象集合. 前端代码 前 ...
- SpringMVC,SpringBoot使用ajax传递对象集合/数组到后台
假设有一个bean名叫TestPOJO. 1.使用ajax从前台传递一个对象数组/集合到后台. 前台ajax写法: var testPOJO=new Array(); //这里组装testPOJO数组 ...
- ArrayList集合、String[]数组、String字符串
数组初始化时候必须指定长度,而ArrayList是动态数组,可以根据实际内容改变 //声明stsArr数组并初始化 String[] strArr = new String[]{ "aaa& ...
- UI自动化测试(三)对页面中定位到的元素对象做相应操作
前两天分别讲述了UI自动化测试基础以及对页面元素该如何进行定位,这一篇自然就是对定位到的页面元素对象进行相应操作啦. 阅读目录 1.常用操作元素对象的方法 2.鼠标事件操作 3.键盘事件操作 4.We ...
- servlet自动获取前端页面提交数据
servlet自动获取前端页面jsp提交数据 以下是本人在学习过程中,因前端页面提交参数过多,后台servlet封装实体类过于麻烦而写的一个工具类,应用于jsp/servlet数据提交后,基于MVC+ ...
- MVC传递数据-传递对象或对象集合
前言 本文主要介绍从View(或者js)文件向Controller提交对象或者对象集合.比方.将表格中的一行数据作为一个对象提交.或将多行数据作为一个集合提交到Controller. 回想 从View ...
- JSon_零基础_008_将JSon格式的"数组"字符串转换为List集合
将JSon格式的"数组"字符串转换为List集合. 应用此技术从一个json对象字符串格式中得到一个java对应的对象. JSONObject是一个“name.values”集合, ...
随机推荐
- gTest&gMock learning
在C++中,编写服务后的一种测试方式是使用google的gTest和gMock结合 之前写py,测试方式是将服务挂起,使用工具模拟请求发包,check resp,这样的缺点在于不方便,即使存下了所有的 ...
- javaScript实现点击按钮直接打印
很多网站都有此功能,当浏览到底部时都会有一个打印按钮,点击打印按钮就可以完成打印功能,功能非常不错,人性化,代码非常的简单. 一.只要调用window.print()函数就可以实现打印当前页面 < ...
- angular指令与指令交互
app.directive('mansory',function(){ return { controller:function($scope){ this.changed = function(){ ...
- python+opencv+pyqt5控制摄像头在Qlabel上显示
import cv2 import numpy as numpy from PIL import * import sys from PyQt5.QtWidgets import * from PyQ ...
- vs2012 在调试或运行的过程中不能加断点
在使用VS2012 的过程中,突然发现在调试的过程中,不能加断点,显示断点未能绑定.在搜寻了很多解决方案后未能解决,3.23这一天,重装了VS也没有用. 便想着把网上所有的方法都试个遍也要解决这个问题 ...
- Java BigInteger 与C# BigInteger之间的问题
最近接到一个Java代码转C#代码的项目.本来就两个函数看起来很简单的,后来折腾了一天,终于完美收官. 碰到的第一个问题是:java的BigInteger构造函数里面BigInteger(string ...
- cordova安卓sdk
Android SDK在线更新镜像服务器来下载安装: 1.北京化工大学镜像服务器地址: IPv4: ubuntu.buct.edu.cn/ 端口:80 IPv4: ubuntu.buct.cn/ 端口 ...
- Mysql5.7基于事务转为基于日志
先决条件 master端执行 flush logs;show master status; 获取file和position slave端执行 stop slave; change master to ...
- 学习opencv(持续更新)
redhat安装,报错解决方法 1 升级GCC,http://mirrors.kernel.org/gnu/gcc/ 2 更换稳定版本 #!/bin/bash yum -y install gcc g ...
- Pycharm-professional-2017.2.3破解安装
初次接触Python,大神推荐使用PyCharm IDE工具,作为小白初生牛犊不怕虎,上手就来最新版的,这也许不是最好的选择,但在以后慢慢琢磨深入之后,会选择适合自己的版本,现参考把安装过程分享出来. ...