web.xmlに以下を記述します。
- <filter>
- <filter-name>encodingFilter</filter-name>
- <filter-class>filter.EncodingFilter</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>
- <servlet-name>action</servlet-name>
- </filter-mapping>
まぁこれはStruts用なのでservlet-nameはactionになっていますが、
それぞれの名称にあわせてください。
このクラスに
- /**
- * Tomcatコード変換フィルター
- */
- public class EncodingFilter implements Filter {
- String encName;
- /**
- * 初期化処理
- * エンコード名を取得
- */
- public void init(FilterConfig config) throws ServletException {
- // TODO 自動生成されたメソッド・スタブ
- encName = config.getInitParameter("encoding");
- }
- /**
- * 実行処理
- */
- public void doFilter(ServletRequest request,
- ServletResponse response,
- FilterChain chain)
- throws IOException, ServletException {
- request.setCharacterEncoding(encName);
- chain.doFilter(request, response);
- }
- }
としておけばOKです。
initでコード名を取ってきていますが、
実装に依存させても大丈夫です。
0 件のコメント:
コメントを投稿