6

私は非常に単純なアプリケーションを持っています。インデックス ページに入力テキストがあり、page2.xhtml に移動するためのボタンがあります。

    <h:body>
        <h:form>
            <h:inputText value="#{mainBean.testValue}"/>
            <p:commandButton update="myoutput" value="ajax call" ajax="false"/>
            <p:separator />
            <h:commandButton action="#{mainBean.gotoPageTwo}" value="goto Page2"/>
            <br/>
            <h:outputText value="#{mainBean.testValue}" id="myoutput"/>
        </h:form>
    </h:body>
</html>

このアプリケーションを PrimeFaces 2.2.1 でテストしましたが、問題はありませんでした。しかし、上記の各ボタンを送信した後、UTF-8 文字が破棄されます。フィルタをテストしましたが、機能しません。PrimeFaces 3.x のバグですか? この問題を解決できる体はありますか?

4

1 に答える 1

5

web.xmlPrimeFaces フォーラムで見つけた回答の例は不完全です。<filter-mapping>がありません。それがなければ、フィルターはまったく実行されません。それに応じて追加します

<filter-mapping>
    <filter-name>Character Encoding Filter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

すでに Servlet 3.0 (Tomcat 7、Glassfish 3 など) を使用している場合、別の方法@WebFilterとして、クラスで注釈のみを使用することができます。からフィルタ エントリを削除することを忘れないでくださいweb.xml

@WebFilter("/*")

PrimeFaces 2.x から 3.x へのアップグレード中のこの文字エンコーディングの問題の原因の背景説明については、PrimeFaces 入力コンポーネントを介して取得された Unicode 入力が破損するも参照してください。

于 2012-06-24T12:16:39.540 に答える