• Java之Spring MVC中表单标签的简介说明


    转自:

    Java之Spring MVC中表单标签的简介说明

    Spring MVC中表单标签的功能:将JSP页面渲染出相应的HTML元素,使浏览器可正常显示信息。

    Spring MVC使用注意事项:
           JSP中Spring MVC标签需在头部使用taglib声明,如下所示:
          
    <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>

    常见的Spring MVC如下所示:

    名称作用
    form渲染一个html表单元素
    input渲染一个html 元素
    password渲染一个html 元素
    hidden渲染一个html 元素
    textarea渲染一个htmltextarea 元素
    checkbox渲染一个html 元素
    checkboxes渲染一个html 元素
    radiobutton渲染一个html 元素
    radiobuttons渲染一个html包含多个 元素
    select渲染一个html select选择元素
    option渲染一个html中select中选项元素
    options渲染多个选项元素
    errors在span元素中渲染字段错误

    form表单标签

    表单标签的语法格式如下:

    modelAttribute="xxx" method="post" action="xxx">
        ...

    表单标签除了具有 HTML 表单元素属性以外,还具有 acceptCharset、commandName、cssClass、cssStyle、htmlEscape 和 modelAttribute 等属性。

    1. acceptCharset:定义服务器接受的字符编码列表。
    2. commandName:暴露表单对象的模型属性名称,默认为 command。
    3. cssClass:定义应用到 form 元素的 CSS 类。
    4. cssStyle:定义应用到 form 元素的 CSS 样式。
    5. htmlEscape:true 或 false,表示是否进行 HTML 转义。
    6. modelAttribute:暴露 form backing object 的模型属性名称,默认为 command。


    commandName 和 modelAttribute 属性的功能基本一致,
     用于绑定一个 JavaBean 对象。
       如:控制器类 UserController 的方法
              inputUser 是返回 userAdd.jsp 的请求处理方法
               inputUser 方法如下:

     @RequestMapping(value="/input")
    public String inputUser(Model model) {
    ...
    model.addAttribute("user", new User());
    return "userAdd";
    }
    


    userAdd.jsp中内容如下:


        ...

    注意事项:
        当inputUser方法中,没有 Model 属性 user,userAdd.jsp 页面就会抛出异常,
              由于表单标签无法找到在其 modelAttribute 属性中指定的 form backing object。

    input 标签

    input 标签的语法格式如下:

    该标签除了有 cssClass、cssStyle、htmlEscape 属性以外
     还有一个最重要的属性——path
       path 属性的功能:
            将文本框输入值绑定到 form backing object 的一个属性。

    如下:


       

    以上代码可将输入值绑定到 user 对象中的userName属性

    password 标签

    password 标签的语法格式如下:

    此标签同input标签用法相同,只是显示不同

    hidden 标签

    hidden 标签的语法格式如下:

    此标签同input标签用法相同,只是显示不同
     由于此标签无需显示,所以此标签不支持cssClass及cssStyle属性

    textarea 标签

    textarea 基本上就是一个支持多行输入的 input 元素,语法格式如下:

    此标签同input标签用法相同,只是显示不同

    checkbox 标签

    checkbox 标签的语法格式如下:

         多个 path 相同的 checkbox 标签,它们是一个选项组,允许多选,选项值绑定到一个数组属性。

    如下:

    张三
    李四
    王五
    赵六

    以上代码中复选框的值绑定到一个字符串数组属性 friends(String[] friends)
    此标签的其它用法同input标签相同

    checkboxes 标签

    checkboxes 标签渲染多个复选框,是一个选项组,相当于多个 path 相同的 checkbox 标签。
     此标签拥有3 个非常重要的属性,即 items、itemLabel 和 itemValue

    1. items:用于生成 input 元素的 Collection、Map 或 Array。
    2. itemLabel:items 属性中指定的集合对象的属性,为每个 input 元素提供 label。
    3. itemValue:items 属性中指定的集合对象的属性,为每个 input 元素提供 value。


    checkboxes 标签的语法格式如下:

    如下:

    上述示例代码是将 model 属性 chkList的内容(集合元素)渲染为复选框。
    在 itemLabel 和 itemValue 省略的情况下,
          当集合是数组,复选框的 label 和 value 相同;
          当为 Map 集合,复选框的 label 是 Map 的值(value),复选框的 value 是 Map 的关键字(key)

    radiobutton 标签

    radiobutton 标签的语法格式如下:

    多个 path 相同的 radiobutton 标签,它们是一个选项组,只允许单选。

    radiobuttons 标签

    radiobuttons 标签渲染多个 radio,是一个选项组,相当于多个 path 相同的 radiobutton 标签。
               radiobuttons 标签的语法格式如下:

       该标签的 itemLabel 和 itemValue 属性与 checkboxes 标签的 itemLabel 和 itemValue 属性完全一样,但只允许单选。

    select 标签

    select 标签的选项可能来自其属性 items 指定的集合,或者来自一个嵌套的 option 标签或 options 标签。其语法格式如下:


       


       

    该标签的 itemLabel 和 itemValue 属性与 checkboxes 标签的 itemLabel 和 itemValue 属性完全一样。

    options 标签

    options 标签生成一个 select 标签的选项列表 
     此标签需结合select标签一起使用

    errors 标签

    errors 标签渲染一个或者多个 span 元素,每个 span 元素包含一个错误消息。

     

     

  • 相关阅读:
    Docker的常用命令
    微信公众号与小程序打通:流量变现的新路径
    谷粒商城----rabbitmq
    swiper3 无缝滚动 + 鼠标悬停停止/继续
    堆排序在topK场景题中的应用及原理
    JavaScript 实现点击/关闭全屏
    django农产品销售系统-计算机毕业设计源码65418
    shiro会话管理
    XTuner InternLM-Chat 个人小助手认知微调实践
    Redis的java客户端
  • 原文地址:https://blog.csdn.net/qq_25073223/article/details/127859698