1

xhtml を UTF-8 および ServletRequest に設定しました。ただし、文字エンコーディングを UTF-8 として検出することはまだできないようです。WebSphere 8 で Primefaces 3.5 を使用しています。

.xhtml

<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

リダイレクトログイン

public class RedirectLogin implements Filter {
  public void doFilter(ServletRequest request, ServletResponse response,
        FilterChain chain) throws IOException, ServletException {

    if (request.getCharacterEncoding() == null) {
        request.setCharacterEncoding("UTF-8");
    }
    chain.doFilter(request, response);

  }
}

web.xml

    <filter>
        <description>Redirect unauthenticated session to login page.</description>
        <display-name>RedirectLogin</display-name>
        <filter-name>RedirectLogin</filter-name>
        <filter-class>com.belsize.servlet.filter.RedirectLogin</filter-class>
        <init-param>
            <param-name>login_page</param-name>
            <param-value>/faces/login.xhtml</param-value>
        </init-param>


    </filter>
    <filter-mapping>
        <filter-name>RedirectLogin</filter-name>
        <url-pattern>/RedirectLogin</url-pattern>
    </filter-mapping>
    <filter-mapping>
        <filter-name>RedirectLogin</filter-name>
        <url-pattern>*.xhtml</url-pattern>
    </filter-mapping>
4

1 に答える 1

0

私の環境は「汚れている」と思います。プロジェクトをクリーンアップした後、再デプロイすると、正常に動作するようになりました。

于 2013-06-05T16:32:30.207 に答える