美文网首页
SpringMVC使用JSP处理表单(一)

SpringMVC使用JSP处理表单(一)

作者: f07bfe4a10fd | 来源:发表于2016-03-15 15:50 被阅读927次

    每一个web应用都需要与表单进行交互,通过将输入字段与表单绑定,可以从用户那里获取数据。SpringMVC通过使用其自定义的JSP表单标签库提供了表单处理的方法。

    表单标签库支持使用自定义标签创建视图,并提供了与模型类绑定的功能。所以,通过使用该框架的绑定功能,可以将浏览器提交的HTTP请求中的参数映射到模型。

    表单标签提供了许多标签,从输入元素(如复选框、单选框、组合框等)到用来显示信息数据输出元素(比如标签和错误)。

    • form
    • input
    • password
    • hidden
    • select
    • option
    • options
    • radiobutton
    • radiobuttons
    • checkbox
    • checkboxes
    • textarea
    • errors
    • label
    • button

    1、配置表单标签库

    若想在页面中使用标签库,需要进行一些配置。首先,应该将标签库的定义添加到页面;下面的示例使用mvc作为标签库的前缀:

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

    表单标签库描述文件spring-form.tld位于spring-webmvc子项目META-INF文件夹中。如果将该项目作为一个依赖添加到当前项目中,则可以直接使用该项目。

    对于标签库中的每一个标签定义,dynamic-attributes标签都被设置为true。这意味着在标签定义中不存在的特性仍然可以被定义和使用,因为它们将被作为传递特性而进行显示,所以可以在HTML输出看到在标签中定义的特性。

    Spring MVC还提供了其他的标签库,以便处理消息的内部初始化,从主题中选择资源等。该标签库描述符文件名spring.tld,同样位于spring-webmvc子项目META-INF文件夹中。

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

    接下来,首先学习输入标签的绑定功能。这也是Spring MVC中最重要的概念之一。

    2、理解强大的绑定功能

    Spring MVC在视图层模型层之间提供了强大的绑定功能。用户通过视图发送数据,然后这些数据被自动绑定到模型。因为用户的每次交互都是Web上的一个HTTP请求,所以Spring MVC将请求参数与Command对象绑定,其中Command对象是一个POJO/Java Bean,其值由用户的输入填充。Command对象与Form对象和Form-Backing对象是同义的。

    在视图层启用绑定的主要元素是标签中的path特性。path指向模型中定义的类属性。

    <mvc:input path="name"/>
    

    该例中,path指向一个类的name属性——比方说User。用户输入的值将会被自动设备到User类实例的name属性。如果一个类中并没有path所定义的属性,那么Spring MVC将抛出 org.springframework.beans.NotReadablePropertyException,表明该属性不可读或者拥有一个无效的Getter/Setter方法。对大多数标签来说,path是一个必须的属性,因为必须定义它才能让标签工作。errors标签除外,它不需要path特性。

    path只是知道特性,但并不知道Command对象本身。

    相关文章

      网友评论

          本文标题:SpringMVC使用JSP处理表单(一)

          本文链接:https://www.haomeiwen.com/subject/fxcqlttx.html