SpringMVC数据绑定与表单标签库
数据绑定是将用户参数输入值绑定到领域模型的一种特性。
数据绑定的优点主要有两点:
第一,不再需要将HTTP请求中的String类型转换成模型所需的类型。
第二,当输入的验证失败时会重新生成一个HTML表单,无需重新填写输入字段。
在SpringMVC中,为了方便高效地使用数据绑定,还需使用表单标签库。
在SpringMVC中数据绑定有这样几层含义:绑定请求参数输入值到领域模型;模型数据到视图的绑定(输入验证失败时);模型数据到表单元素的绑定(如选项值被控制器初始化)
表单标签库包含了可以用在JSP页面渲染HTML元素的标签,在JSP页面使用Spring标签库时,必须在JSP页面开头处声明taglib指令。
在表单标签库有form,input,password,hidden,textarea,checkbox,checkboxes,radiobutton,radiobuttons,select,option,options,errors等标签。
数据绑定的应用,在应用中实现了User类属性和JSP页面中表单参数的绑定,同时在JSP页面分别展示了input,textarea,checkbox,checkboxs,select等标签。
1-在IDEA中创建名为ch12-1的web应用,在该web应用的WEB-INF下创建目录lib,在该目录中导入Spring的核心包和依赖包,SpringMVC的核心包,同时需要将Tomcat的Webapps\examples\WEB-INF\lib目录下的JSTL相关的jar包复制到应用的WEB-INF/lib目录下。

2-在web.xml中部署dispatcherServlet,在该配置文件中配置CharacterEncodingFilter解决中文乱码问题。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
id = "WebApp_ID" version="4.0">
<!--部署DispatcherServlet-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/springmvc-servlet.xml</param-value>
</init-param>
<!--表示容器启动时加载的servlet-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!--任意的请求都通过DispatcherServlet-->
<url-pattern>/</url-pattern>
</servlet-mapping>
<!-- 配置 CharacterEncodingFilter解决中文乱码问题-->
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<!-- 配置编码格式为UTF-8 -->
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
3-在WEB-INF目录下创建SpringMVC核心配置文件,在该配置文件中扫描指定的包,配置视图解析器,解析视图路径。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!--使用扫描机制,扫描控制器类-->
<context:component-scan base-package="controller"/>
<context:component-scan base-package="service"/>
<mvc:annotation-driven />
<!--annotation-driven用于简化开发的配置,注解DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter-->
<!--使用resources过滤掉不需要dispatcherservlet的资源,例如静态资源,在使用resources时必须使用annotation-driven,否则resources会阻止任意控制器被调用-->
<mvc:default-servlet-handler/>
<!--配置视图解析器-->
<bean class = "org.springframework.web.servlet.view.InternalResourceViewResolver" id = "internalResourceViewResolver">
<!--前缀-->
<property name = "prefix" value = "/WEB-INF/jsp/"/>
<!--后缀-->
<property name = "suffix" value = ".jsp

本文介绍SpringMVC数据绑定与表单标签库。数据绑定可将用户输入绑定到领域模型,有无需类型转换、验证失败自动回填等优点。还介绍了表单标签库及使用方法,通过创建web应用,配置相关文件,实现User类属性与JSP表单参数绑定,展示了数据绑定的应用。
最低0.47元/天 解锁文章
1330

被折叠的 条评论
为什么被折叠?



