在JSP页面中通过form表单提交时候,往往需要进行数据回显效果。例如以下场景往往需要数据回显:
(1)提交后,如果出现错误,将刚才提交的数据回显到刚才的提交页面。
(2)查询页面,点击查询后往往需要查询条件表单的数据回显。
例如如下一段用于请求查询的JSP代码:
<form method="post" action="${_index}/auth/roleErp" id="roleErpForm">
<div class="fe-fm-table">
<table width="100%">
<tbody>
<th>ERPID:</th>
<input type="text" id="erp" name="erp" class="fe-text w160" value="$!{roleErp.erp}" />
<th>角色:</th>
<select id="roleId" name="roleId" class="fe-select w230 valid" value="$!{roleErp.roleId}">
<option value="" selected>请选择</option>
<option value="001">公司管理者</option>
<option value="002" >市场部</option>
<option value="003" >人力资源</option>
<option value="004" >售后</option>
</select>
<div class="btns">
<button id="input_select" type="submit" class="btn-h28 btn-blue mr20"><strong>查 询</strong></button>
</div>
</tbody>
</table>
</div>
</form>
通过设置表单的value元素,接受回显controller返回请求的数据。可以通过以下方法使得SpringMVC回显数据。
一、 SpringMVC默认对pojo数据进行回显
springmvc默认对pojo数据进行回显。pojo数据传入controller方法后,springmvc自动将pojo数据放到request域,key等于pojo类型(首字母小写),页面只需要写参数的属性就可以实现绑定。
@RequestMapping(value = "auth/roleErp")
public ModelAndView roleInfoList(RoleErp roleErp) {
ModelAndView mv = new ModelAndView("auth/roleErp");
return mv;
其中参数名roleErp必须是RoleErp类的首字母小写,注:此时如果参数名与参数的类型(即RoleErp类)不一致或者参数名与页面的绑定参数名(即<input type="text" id="erp" name="erp" class="fe-text w160" value="${roleErp.erp}" />
中的roleErp)不一致,数据将不能够回显。
注:有时候我们在开发过程中往往会遇到页面的表单元素多于请求参数类属性(这个参数类实际就是数据库实体类)的情况(即页面的Pojo类属性往往包含并多于domain的Pojo类属性的情况)。此时一个比较可行的方法则是页面Pojo类继承domain的Pojo类,多于表单元素添加为页面Pojo类属性,此时在请求参数类型可以替换为页面的Pojo类。如完整过程可描述为:
<input type="text" id="erp" name="erp" class="fe-text w160" value="${roleErpSearch.erp}" />
<input type="text" id="erpName" name="erpName" class="fe-text w160" value="${roleErpSearch.erpName}" />
RoleErp类为数据库实体类,而erpName字段为页面表单元素,在RoleErp类中添加该属性明显不合理,此时则可以定义一个RoleErpSearch类(继承RoleErp类)定于erpName属性。
public class RoleErp implements Serializable{
* ERP
private String erp;
public String getErp() {
return erp;
public class RoleErpSearch extends RoleErp implements Serializable {
String erpName;
public String getErpName() {
return erpName;
public void setErpName(String erpName) {
this.erpName = erpName;
在controller中用RoleErpSearch类接受参数即可。
@RequestMapping(value = "auth/roleErp")
public ModelAndView roleInfoList(RoleErpSearch roleErpSearch) {
ModelAndView mv = new ModelAndView("auth/roleErp");
return mv;
二、 通过@ModelAttribute数据回显
使用@ModelAttribute注解方式可实现数据回显效果。使用@ModelAttribute注解参数的方式默认也是参数类名首字母小写作为key值,但也可以通过@ModelAttribute(“roleErpSearch”)更改key值如下:
<input type="text" id="erp" name="erp" class="fe-text w160" value="${roleErpSearch.erp}" />
@RequestMapping(value = "auth/roleErp")
public ModelAndView roleInfoList(@ModelAttribute(“roleErpSearch”)RoleErp roleErpSearch) {
ModelAndView mv = new ModelAndView("auth/roleErp");
return mv;
当用@ModelAttribute(“roleErpSearch”)注释后,参数名就可以不再是RoleErp的首字母小写,此时,SpringMVC会把“roleErpSearch”作为key值写到request中,而页面引用时候绑定参数就得用“roleErpSearch”了。
三、 通过Model或ModelAndView数据回显
使用Model或ModelAndView也可以实现数据回显,此时则需要进行手动设置,手动设置比较灵活,可以改变key值等优势。采用Model方式只是把请求参数重新放回Request中,而ModelAndView则可以把请求参数放回到具体的视图域中。
@RequestMapping(value = "auth/roleErp")
public ModelAndView roleInfoList(RoleErp roleErpSearch) {
ModelAndView mv = new ModelAndView("auth/roleErp");
mv.addObject("roleErpSearch".roleErpSearch);
return mv;
@RequestMapping(value = "auth/roleErp")
public ModelAndView roleInfoList(Model model, RoleErp roleErpSearch) {
ModelAndView mv = new ModelAndView("auth/roleErp");
model.addAttribute("roleErpSearch",roleErpSearch);
return mv;
四、 简单数据的回显,需要手动设置
对于简单数据类型,如:Integer、String、Float等只能通过手动设置将传入的参数再放到request实现显示。手动方式可为:ModelAndView的mv.addObject(“id”,id)或Model 的model.addAttribute(“id”,id);
<input type="text" id="id" name="id" class="fe-text w160" value="$!{id}" />
@RequestMapping(value = "auth/roleErp")
public ModelAndView roleInfoList(Integer id) {
ModelAndView mv = new ModelAndView("auth/roleErp");
mv.addObject("id",id);
return mv;
@RequestMapping(value = "auth/roleErp")
public ModelAndView roleInfoList(Model model, Integer id) {
ModelAndView mv = new ModelAndView("auth/roleErp");
model.addAttribute("id",id);
return mv;
Struts提供了很多表单相关的自定义标签,这些标签除用于生成相应的html标签外,最大的好处在于它在产生html标签时,会自动检索相应formbean的数据予以显示,这样,当表单校验失败时,表单数据...
来自: 小黄鸭的博客
近些天,我在写表单数据提交及回显问题,中间遇到了很多坑,经过看文档,各种百度,从而一一解决。表单中包括的东西特别多,从API可以看得出来,小程序API中的表单有:input/button/picker...
来自: Delicia_Lani的博客
1、提交到本页,可以使用history.go(-1);,回显数据html>... String ss = request.getParameter("ss")==null?"":request....
来自: 马东成
当我们注册时,尤其时填写很多内容时,一但我们填写的内容有错,Serlvet给我们转发回来一个新的注册页面,之前写的内容就全没有了,有没有办法解决呢????
没有使用el表达式,使用后代码将更加简洁
来自: yuanmomoya的博客
最近做的项目中,在对单表进行增删改查的时候,对于数据的编辑都使用了数据回显。
具体使用环境:
列表页面:main.jsp,借助easy-ui的datagrid表格列表显示数据库中查询的数据。选中某...
来自: 今天进步一点点~~
做这个测试,请首先搭建好ssm整合demo,可以参考我的这篇文章:http://blog.csdn.net/do_bset_yourself/article/details/512987991.spr...
来自: 都市桃源
问题背景: 我要在一个表单里同时一次性提交多名乘客的个人信息到SpringMVC,前端HTML和SpringMVC Controller里该如何处理?第1种方法:表单提交,以字段数组接收;第2种方法:...
来自: cgd_8523的博客
&lt;script type="text/javascript"&gt;$(document).ready(function(){var _orderType=$...
来自: qq_38869854的博客
需求:假设我们要修改一条信息,进入修改这条信息的页面进行修改,如果修改的数据不符合要求则需要返回修改前的页面,修改前的数据也要原封不动的返回。这时就用到了数据回显。首先梳理下这个数据回显完成的过程。先...
来自: Sunmeok的博客
预期的效果:填写一个表单,提交给Controller处理,返回结果界面。效果的展示:表单的样式结果样式:程序的思路:填写一个表单,产生一个action,根据Action找到对应的@RequestMap...
来自: Netlab的博客
做课程设计的时候遇到一个问题弄了好久,找了好久也没有找到解决办法,弄了好久终于弄出来了,人生的第一篇博客来补充一下吧,
先说Eclipse抛出的异常:
严重: Invalid property ‘...
来自: XiaoA82的博客
在我们提交form表单到后台的时候需要获取字段内容 以及 编辑表单内容时从后台获取到数据时需要进行数据回显到form表单的字段值
下面将这2种方式抽取出来,可以放在公共js部分 然后在需要使用...
来自: 郑清的IT学习之路
今天遇到了一个问题,就是表单查询之后我做了一个回显,还会在查询栏中出现刚才输入的条件,但是重置按钮失效,原因也很简单,就是reset只会把表单还原成默认值value 并不是清空查询条件,所以回显之后f...
来自: wxp906257269的博客
&lt;form:form id="inputForm" modelAttribute="user" action="${ctx}/accou...
来自: yilihuang的博客
什么是页面回显?页面回显就是将后台的数据,返回到前端的页面上。通过addAttributer将user的属性添加到model中去@Controller
public class IndexContro...
来自: JavaLab
概述 表或视图可以在运行时添加到 Visual FoxPro 表单中. 虽然 你可以用 USE 命令打开表, 但将其添加到表单的数据环境更好. 如果表单是设置为私有数据工作期, 则该表会只添加到当前数...
来自: CSDN TERRYYRRET 的专栏
1. Spring MVC 数据校验
Spring MVC 3.X 之后支持了 JSR-303 校验框架,本文使用 Hibernate Validator 校验框架进行数据的校验。Hibernat...
来自: 写Bug的小白的博客
Struts2-数据回显、模型驱动等常用技术数据回显对于数据回显,必须要用struts标签!例如下面这个标签有两种方式实现回显:1) 将user作为action的实例变量
Action跳转时是这样的...
来自: motionEnabled
用纯servlet个jsp也面写的一个简单demo。
RegisterUIservlet-->register.jsp-->RegisterServlet,在RegisterServlet调用...
来自: lightsu_1029的博客
springmvc默认对pojo数据进行回显
pojo数据传入controller方法后,springmvc自动将pojo数据放到request域,key等于pojo类型(首字母小写)
使用@Mo...
来自: Methun
&lt;!DOCTYPE html&gt;
&lt;html xmlns:th="http://www.thymeleaf.org" xml...
来自: aha的博客
Struts2中我们为什么要用数据回显呢?比如,当我们提交的数据有错误时,这时候我们在表单页面就需要提示错误信息。
就拿上一篇中的数据类型转换的问题来说明数据回显。当我们没有实现自定义的数据类型转换器...
来自: melissa_hexiu的博客
1. 前言
隐马尔科夫HMM模型是一类重要的机器学习方法,其主要用于序列数据的分析,广泛应用于语音识别、文本翻译、序列预测、中文分词等多个领域。虽然近年来,由于RNN等深度学习方法的发展,HMM模型...
来自: tostq的专栏
Axure RP 8.0 注册码仅供个人学习交流使用(建议购买正版授权)8.1.0.3366亲测可用
Licensee:University of Science and Technology o...
来自: 前端大白兔的博客
最近在论坛中看到了很多实用html5开发视频播放,音乐播放的功能,大部分都在寻找答案。因此我就在这里做一个demo,供大家相互学习。html5开发越来越流行了,而对于视频这一块也是必不可少的一部分。如...
来自: xmt1139057136的专栏
翻译: selfimprE-mail: lgg860911@yahoo.com.cnBlog: http://blog.csdn.net/lgg201转载请声明出处: http://blog.csd...
来自: goosman-lei
上篇文章讲述了机器学习决策树的原理,以及如何选择最优特征作为分类特征。本篇文章将在此基础上进行介绍。主要内容包括:决策树构建、决策树可视化、使用决策树进行分类预测、决策树的存储和读取、sklearn实...
来自: Jack-Cui
大早晨的调着调着程序,视线没离开一会,就发现jlink自动断开连接了,然后重新拔插jlink、重启都不行,才发现小灯已经不亮了,原来是固件损坏了,果断想办法修复这位大爷。以前修复过这个问题,但当时系统...
来自: 紫藤的专栏
人脸识别之特征脸方法(Eigenface)zouxy09@qq.comhttp://blog.csdn.net/zouxy09 因为需要,花了一点时间写了下经典的基于特征脸(EigenFa...
来自: zouxy09的专栏
Assimp是目前比较全的3D格式解析库了,熟悉3D游戏开发的同行都知道,3D的格式非常混乱,各种3D格式在不同场合都有他们特定的应用,游戏引擎只能够解析少部分3D格式,更多实用的格式来自游戏公司自定...
来自: 开发游戏,辉煌全中国
问题场景描述整个项目通过Maven构建,大致结构如下:
核心Spring框架一个module spring-boot-base
service和dao一个module server-core
提供系统...
来自: 开发随笔
0、前提安装elasticsearch的最新版本,目前是2.3.4版本。
elsticsearch新增扮演的角色是:rally分析结果会存储到elasticsearch。1、运行esrally 高级...
来自: 铭毅天下
一、为什么选择RocketMQ
我们来看看官方回答:
“我们研究发现,对于ActiveMQ而言,随着越来越多的使用queues和topics,其IO成为了瓶颈。某些情况下,消费者缓慢(消费能力不足)还...
来自: jayjjb的专栏