ssm项目遇到的一些问题(中文乱码,数据校验···)

记录参与实战项目时遇到的问题

    • 中文乱码
    • spring validator数据校验
    • spring @Value标签的使用

中文乱码

解决响应乱码,有两种方式
第一种

	<!--解决Response中文乱码-->
	<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
		<property name="messageConverters">
			<list>
				<bean class="org.springframework.http.converter.StringHttpMessageConverter">
					<property name="supportedMediaTypes">
						<list>
							<value>text/html;charset=UTF-8</value>
						</list>
					</property>
				</bean>
			</list>
		</property>
	</bean>

这种方式要求,这段代码要放在mvc:annotation-driver之前,
这就遇到一些问题,比如在做spring validator数据校验时,要求mvc:annotation-driver在mvc.xml文件的顶部。这就产生了冲突,
第二种:

    <mvc:annotation-driven >
        <!-- 消息转换器 解决响应时中文乱码-->
        <mvc:message-converters register-defaults="true">
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="supportedMediaTypes" value="text/html;charset=UTF-8"/>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

spring validator数据校验

这个问题困扰了我很久,但其实是个很简单的问题,首先要拷jar包,拷jar包的话需要拷好几个,maven引入依赖只需要两个

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>6.0.0.Final</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish</groupId>
            <artifactId>javax.el</artifactId>
            <version>3.0.1-b08</version>
        </dependency>

mvc.xml中加入一个bean,但其实可以不加,因为mvc:annotation-driver中已经包含了

    <!--数据校验-->
    <bean id = "validator" class = "org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/>

但是我试了数次也没有成功,原因是使用数据校验时,mvc:annotation-driver要放在文件顶端,辛酸泪····

spring @Value标签的使用

@Value(“${}”)
可以读取数据,这种方式读取的是配置文件中的内容(.properties)
当然了,要将配置文件先读进来
import resource=“classpath:XX.xml” />
@Value("#{}")
这种方式是读取对象信息,前提是把该对象交给sping管理,就是bean

你可能感兴趣的:(ssm项目遇到的一些问题(中文乱码,数据校验···))