스프링(spring) + 타임리프(thymeleaf) 연동시 한글처리
Spring + Thymeleaf 연동시 한글 처리
sprng 에 thymeleaf 연동시 기본설정으로 한글이 깨지는 것을 볼 수 있다. 이때 다음과 같은 설정으로 한글처리를 할 수 있다. 아래의 방법으로 다른언어도 UTF-8 처리를 하여 깨지는 현상을 막을 수 있다.
1. web.xml
### xml
<filter>
<filter-name>encodingFilter</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>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
spring encoding 을 위한 설정
2. servlet-context.xml
### xml
<!-- **************************************************************** -->
<!-- THYMELEAF-SPECIFIC ARTIFACTS -->
<!-- TemplateResolver <- TemplateEngine <- ViewResolver -->
<!-- **************************************************************** -->
<beans:bean id="templateResolver"
class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".html" />
<beans:property name="templateMode" value="HTML5" />
<beans:property name="cacheable" value="false" />
</beans:bean>
<beans:bean id="templateEngine" class="org.thymeleaf.spring3.SpringTemplateEngine">
<beans:property name="templateResolver" ref="templateResolver" />
</beans:bean>
<beans:bean class="org.thymeleaf.spring3.view.ThymeleafViewResolver">
<beans:property name="characterEncoding" value="UTF-8" />
<beans:property name="templateEngine" ref="templateEngine" />
</beans:bean>
<context:component-scan base-package="net.javapark.thymeleaf" />
ThymeleafViewResolver 에 characterEncoding 값을 설정한다.
참고 |
UTF8 charset problem : http://forum.thymeleaf.org/UTF8-charset-problem-td3608879.html