SpringMVC学习之数据绑定和表单标签库

1.数据绑定

用户输入绑定的领域模型的一种特性。类型总是String的Http请求参数,可用于填充不同类型的对象属性。用Spring的表单标签库,可以高效的使用数据绑定。数据绑定的另一个好处是:当输入验证失败时,她会重新生成一个HTML表单,手工编写HTML代码时,必须记着用户刚才的输入,重新填充输入字段,有了Spring的数据绑定和表单标签库后,会帮助完成这些工作。(修改某个对象的时候就会自动读出内容在 input标签中 ,根据需要进行修改)

2.spring 的表单标签库

       其中包含了可以用在JSP页面中渲染HTML元素的标签。为了使用这些标签,必须在JSP页面的开头处声明一个taglib命令,代码如下:

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

       标签库中的标签:form , input , password , hidden , textarea , checkbox , checkboxes(渲染多个checkbox元素), radiobutton , radiobuttons , select (渲染一个选择元素,下拉列表) , option(渲染一个可选元素) , options , errors (在span中渲染字段错误 )

1)表单标签form属性 : commandName(重要)定义模型属性的名称,包含一个backing object其属性用来填充生成的表单。该属性存在,再返回该视图的请求处理方法中添加相应的模型属性

                                          acceptCharset 定义服务器接受的字符编码列表

                                          commandName 暴露表单对象之模型属性的名称,默认是command

                                          cssClass 定义要应用到被渲染form元素的css类          cssStyle  定义要应用到被渲染form元素的css样式

                                          htmlEscape  接受true或false,表示被渲染的值是否应该进行HTML转义

                                          modelAttribute 暴露form backing object 的模型属性名称,默认为command

2)input标签     属性:cssClass  cssStyle     htmlEscape   (相同属性不在定义)

                                      path  要绑定的属性路径  (绑定一个模型对象的属性)<form:input id="isbn" path="isbn" /> 渲染为 <input type="texy" id ="isbn' name="isbn"/>

                                       cssErrorClass  定义要应用到被渲染input元素的CSS类,如果bound属性中有包含错误,则覆盖cssClass属性值

3)password标签 属性 cssClass cssStyle     htmlEscape    path       cssErrorClass
                                       showPassword 表示应该显示或掩盖密码 ,默认为 false

4)hidden标签(与input标签相似)  属性  :  htmlEscape    path

5)textarea标签 属性 ;cssClass cssStyle     htmlEscape    path       cssErrorClass

6) checkbox 标签 属性:cssClass cssStyle     htmlEscape    path       cssErrorClass

                                         label  要作为label用于被与渲染复选框的值

                                         <form:checkbox path="title"  value ="b'  label ="b" />  label 作为复选框后面出现的文字做值,value是真正传递的值,没有value没有值

7)checkboxes标签   属性:cssClass cssStyle     htmlEscape     path       cssErrorClass

                                               delimiter 定义两个input元素之间的分隔符,默认没有分隔符

                                               element 给每一个被渲染的input元素都定义一个HTML元素 ,默认为 “span”

                                               items  用于生成input元素的对象的collection ,Map ,Array

                                               itemLabel  Item属性中定义的Collection,Map ,Array 中的对象的属性,为每个input元素提供label(同checkbox的label的作用)

                                                   itemValue Item属性中定义的Collection,Map ,Array 中的对象的属性,为每个input元素提供值(同checkbox的value的作用)

                                                    <form:checkboxes path="title"  items ="${categories}  "  itemValue="id"  itemLabel ='name" />     

8) radiobutton 标签   属性:cssClass cssStyle     htmlEscape     path       cssErrorClass         label

9)radiobuttons标签属性   cssClass cssStyle     htmlEscape     path       cssErrorClass         label       delimiter        element    items    itemLabel    itemValue

10)select 标签(选项来自model属性中的内容或option) 属性   cssClass  cssStyle     htmlEscape     path       cssErrorClass          label       delimiter         element     items    itemLabel    itemValue

11)option标签 属性  :cssClass  cssStyle     htmlEscape     cssErrorClass  
12)options标签  属性::cssClass  cssStyle     htmlEscape         cssErrorClass 
  items    itemLabel    itemValue(未实验)

13)errors标签  属性:  cssClass  cssStyle     htmlEscape    delimiter    element  path

                                        errors标签渲染一个或多个HTML的span元素,每个span元素都包含一个字段错误,可用于显示一个字段错误,或素所有字段错误

                                        <form:errors path="*"> 显示所有字段错误 <form:errors path="author">  一个字段错误

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值