일반적으로 struts2에서 한글이 깨질때 아래와 같은 세가지 중 하나를 선택해서 적용한다.
1. web.xml에 filter등록
2. struts.properties에서 한글처리
3. struts.xml 에서 처리
위와 같이 적용해도 개발하면서 bean에 값을 담아서 넘기면 한글이 깨진다.
이를 해결하기 위해서는 tomcat의 server.xml 에 URIEncoding을 추가해줘야 한다.
위와 같이 처리해주면 한글 문제가 말끔하게 처리된다.
1. web.xml에 filter등록
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>struts.i18n.encoding</param-name>
<param-value>euc-kr</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
# korean
struts.i18n.encoding=euc-kr
<constant name="struts.i18n.encoding" value="euc-kr" />
위와 같이 적용해도 개발하면서 bean에 값을 담아서 넘기면 한글이 깨진다.
이를 해결하기 위해서는 tomcat의 server.xml 에 URIEncoding을 추가해줘야 한다.
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="EUC-KR"/>