为什么要使用SpringMVC的form:form表单,有两个原因:一是可以更加快捷的完成表单的开发,比如会替你做好数据类型装换等本来需要你自己动手的工作。其次就是能够更加方便的实现表单回显。

首先要在顶部加上这样一行,用以引入form:form的类库。

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>

剩下的页面部分就是一个简单的form:form表单。把代码的解释直接写到注释里。



<!-- 类似普通的form表单,其中modelAttribute是用来绑定一个类;即是form表单提交后对应的实体类。 -->
<form:form action="addSto" method="post" modelAttribute="storageInformation">
<!-- 这个格式只不过是在常用标签的前面加了一个form:,然后path属性要对应此便签所对应的绑定类的相应属性 ;下边其他便签的使用都和这个类似,不另外解释-->
<form:input path="teacherId" name="teacherId" value="教师编号" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = '教师编号';}"/>
<form:input path="subjectId" name="subjectId" value="科目编号 " onfocus="this.value = '';" onblur="if (this.value == '') {this.value = '科目编号';}"/>
<form:input path="storageName" name="storageName" value="名称" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = '名称';}"/>
<form:radiobutton path="category" name="category" value="0" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = '类别';}" />科目共享&nbsp;
<form:radiobutton path="category" name="category" value="1" onfocus="this.value = '';" onblur="if (this.value == '') {this.value = '类别';}" />个人独有
<br>
<div class="forgot"> <input type="submit" value="创建" >
</div>
</form:form>

可以通过 modelAttribute 属性指定绑定的模型属性,若没有指定该属性,则默认从 request 域对象中读取 command 的表单 bean。如果该属性值也不存在,则会发生错误。

最后还有一点要注意的是:如果从一个页面跳转到绑定类的jsp页面则需要进行给其提供一个form:form对应的绑定类的对象。(不确定这点说的是不是准确)。可以在后台的跳转逻辑这样写:

StorageInformation storageInformation= new StorageInformation();
return new ModelAndView("creat_storage").addObject(storageInformation);

也就是给其提供一个空的绑定类的对象,这样就能避免出现上面的问题。

SpringMVC的form:form表单的使用的更多相关文章

  1. 解析:使用easyui的form提交表单,在IE下出现类似附件下载时提示是否保存的现象

    之前开发时遇到的一个问题,使用easyui的form提交表单,在Chrome下时没问题的,但是在IE下出现类似附件下载时提示是否保存的现象. 这里记录一下如何解决的.其实这个现象不光是easyui的f ...

  2. 阻止form空表单提交----JavaScript

    网上看到很不错的阻止form空表单提交 第一种方法 <div class="warp"> <h2>登录到pfan空间</h2> <p> ...

  3. form注册表单圆角 demo

    form注册表单圆角 <BODY> <div class="form"> <ul class="list"> <li& ...

  4. Form提交表单页面不跳转

    1.设计源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...

  5. 使用easyui的form提交表单,在IE下出现类似附件下载时提示是否保存的现象

    之前开发时遇到的一个问题,使用easyui的form提交表单,在Chrome下时没问题的,但是在IE下出现类似附件下载时提示是否保存的现象. 这里记录一下如何解决的.其实这个现象不光是easyui的f ...

  6. WP Mail SMTP插件解决Contact Form 7表单提交失败问题

    WP Mail SMTP插件解决Contact Form 7表单提交失败问题 WP Mail SMTP是一款非常优秀的解决WordPress主机因为不支持或者是禁用了mail()函数,导致无法实现在线 ...

  7. 关于form与表单提交操作的一切

    原文链接:http://caibaojian.com/form.html 你知道,一个表单里面只要有form元素,如果没有给action加一个默认值,为空白的时候,当你刷新页面时,会弹出一个警告框提示 ...

  8. 【转】document.form.action,表单分向提交

    document.form.action,表单分向提交,javascript提交表单 同一个表单可以根据用户的选择,提交给不同的后台处理程序.即,表单的分向提交.如,在编写论坛程序时,如果我们希望实现 ...

  9. js jquery, jquery-ui 获取form各种表单input的值?

    如何获取? make up (for): 弥补, 补偿, her beaty cannot make up for her stu'pidity. five Basic laws of human s ...

  10. jquery.form.js表单插件的使用

    jquery.form.js官网:http://malsup.com/jquery/form API文档:http://malsup.com/jquery/form/#api 下载地址:http:// ...

随机推荐

  1. linux重要的守护进程

    重要的守护进程 守护进程(Daemon)通常会随系统启动时激活并随系统关闭时停止,一直在系统后台中默默为用户提供服务: 守护进程名称 用处 crond 计划任务 dhcpd 动态IP地址分配服务(DH ...

  2. css 画出三角形

    技术分享不一定行文累赘 这里说说最简洁的 css 画出三角形 display: inline-block; border: 10px dashed transparent; border-left: ...

  3. 简谈-Python的注释、变量类型、标识符及关键字

    在Python程序中,要想支持中文输出,则要在代码前面添加 标识符:开发人员在程序中自定义的一些符号和名称 标示符是自己定义的,如变量名 .函数名等 标识符的规则:  标示符由字目.下划线和数字组成, ...

  4. JavaScript中var变量引用function与直接声明function

    今天在h5开发app的过程中遇到了一个js问题,function的执行问题 在js中声明函数function有这两种方法 var A=function(){...} 或者 function A(){. ...

  5. poj1410计算几何线段相交

    You are to write a program that has to decide whether a given line segment intersects a given rectan ...

  6. 与redmine对接

    redmine使用的版本为 2.3.01.打开rest web service2.jar依赖 <dependency> <groupId>com.taskadapter< ...

  7. lightOJ 1258 Making Huge Palindromes(KMP)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1258 就是求逆串和原串的匹配长度 答案就是原串长度的2倍减去匹配长度即可 第一次我将原 ...

  8. angular页面缓存与页面刷新

      angularJS学习笔记:页面缓存与页面刷新 遇到的问题 现在存在这样一个问题,登录前与登录成功后是同一个页面,只不过通过ngIf来控制哪部分显示,图像信息如下: 所以,整体工作不是很难,无非就 ...

  9. (window,parent,opener,top).location.reload方法汇总

    今天在火狐浏览器上碰到个bug,调用parent.location.reload()时只刷新子页面,没有整个浏览器刷新,谷歌上没有问题,网上搜了一下 改成parent.location.reload( ...

  10. prop()、attr()和data()

    设置元素属性,用attr()还是prop()? 对于取值为true /false的属性,如 checked/selected/readonly或者disabled,使用prop(),其他属性使用 at ...