前の記事でWeld-1.0.1-Finalの修正版を入れたんだけど、
なんか日本語が文字化けするようになった(・x・
ConversationScopedの開始タイミングが変わったことが原因にありそう。
Filter通る前に、getParameterが呼ばれるので、Tomcatだと、ASCIIな感じでリクエストが解析されちゃうみたい。
というわけで、org.jboss.weld.servlet.ServletLifecycleを書き換える。
private void restoreConversationContext(HttpServletRequest request)これでおっけーかな(゚ー゚)(。_。)(゚-゚)(。_。)ウンウン
{
// ここから追加
String enc = request.getCharacterEncoding();
if(enc == null) {
try {
request.setCharacterEncoding("UTF-8");
} catch(java.io.UnsupportedEncodingException ex) {
}
}
// ここまで追加
// FIXME: HC "cid"
conversationManager(request.getSession().getServletContext()).setupConversation(request.getParameter("cid"));
}