springMVC之普通表单提交
在J2EE开发中用户提交数据最常用的方式就是表单提交,而今MVC已经成为业界公认的开发模式。常用架构:SSH(Spring+Struts+Hibernate)、SSM(Spring+SpringMVC+Mybatis)等。下面就来分析SSM架构中SpringMVC如何接受表单数据。
在HTML中,表单分为两种形式:普通表单、文件上传表单。本文介绍SpringMVC如何接受普通表单数据。
- 首先,在JSP中编写表单结构(normalForm.jsp)
注意:复选框的数据为中文测试数据 - 映射表单实体(SimpleForm.java)
- 接下来就是开发控制器: Controller(Handler)
注意:如果表单中包含中文则需要设置编码,如果表单为 POST 方式提交则可以在 web.xml 中添加如下配置(GET 方式提交配置无效)- <!-- POST 中文乱码 -->
- <filter>
- <filter-name>encoding</filter-name>
- <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
- <init-param>
- <param-name>encoding</param-name>
- <param-value>UTF-8</param-value>
- </init-param>
- <init-param>
- <param-name>forceEncoding</param-name>
- <param-value>true</param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>encoding</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- 强制中文转码参数转换器(StringEncodingConverter.java)
注意:当前转换器不仅仅对 java.lang.String 有效,泛型参数同样支持,如:List<String>等 - 千万不要忘记最后一步:启用转换器
tips:如果启用当前转换器则无需配置POST字符转码拦截器
至此,大功告成!看看成果如何。
转换过程观察:
转换结果观察:
项目代码请下载附件:ssmFU.zip(maven)
ssmFU.zip (126.5 KB)