中文字符集的解决
解决中文字符集应用mvc提供的一个CharacterEncodingFilter过滤器,只须要在web.xml配置信息外面增加如下过滤器配置
<filter> <filter-name>characterEncoding</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></filter><filter-mapping> <filter-name>characterEncoding</filter-name> <url-pattern>/*</url-pattern></filter-mapping>
自定义类型转换器
情景案例:咱们须要在网页上输出一个日期,然而springmvc有本人的日期转换格局类型,然而咱们想用咱们本人的格局,这时候就须要自定义一个类型转换器
- 1)自定义一个类,实现Converter接口,重写办法
/** * 自定义转化器:将String转化成Date */public class StringToDateConverter implements Converter<String, Date> { @Override public Date convert(String s) { //自定义一个转换规则 //将申请发送过去的String信息转化成本人要的那个对象 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh-mm-ss"); Date date = null; try { date = sdf.parse(s); } catch (ParseException e) { e.printStackTrace(); } //将对象返回 return date; }}
- 2)告知Spring须要加载并治理该对象,Spring的外围配置文件信息如下:
<?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:aop="http://www.springframework.org/schema/aop" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans https://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/aop https://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd"><!-- 开启spring注解驱动--> <context:component-scan base-package="com.cjh"/><!-- 开启mvc注解驱动--> <mvc:annotation-driven></mvc:annotation-driven><!-- 加载一个类型转换器,这个类是用来帮咱们治理咱们自定义的类型转换器--> <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"> <property name="converters"> <set> <bean class="com.cjh.util.StringToDateConverter"/> </set> </property> </bean><!-- 手动配置这个类的驱动--> <mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven></beans>
3)具体实现如下:
- JSP:
<%@ page contentType="text/html; charset=UTF-8" language="java" %><html><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>cai jin hong</title> <style> </style></head><body> <form action="testFive.do" method="post"> date:<input type="text" name="date" value=""> <input type="submit" value="submit"> </form></body></html>
- Java代码:
@Controllerpublic class UserController { //办法中传入实体对象:对象外面有list汇合 @RequestMapping("testFive.do") public void testFive(Date date){ System.out.println(user); }}