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;
/**
* 初期化処理<br>
* エンコード名を取得
*/
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 件のコメント:
コメントを投稿