1

まず、私の英語で申し訳ありません。私はブラジル人ですが、問題があります。コンポーネントのグローバル メッセージを使用すると、検証メッセージが複製される panelGroup があります。見て:

それは私のページのxhtmlです:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://xmlns.jcp.org/jsf/html"
  xmlns:p="http://primefaces.org/ui">
<h:head>
    <title>Facelet Title</title>
</h:head>
<h:body>
    <h:form>
        Hello from Facelets

        <h:panelGroup binding="#{testeMB.panel}" >

            <p:inputText id="field_id" value="#{testeMB.field}"
                required="true" />

            <p:commandButton id="button_id" value="Submeter"
                action="#{testeMB.submit}" ajax="false" />

        </h:panelGroup>
    </h:form>
</h:body>

それが私の ManagedBean です。

@ManagedBean
@ViewScoped
public class TesteMB implements Serializable {

    public static final long serialVersionID = 1L;

    private HtmlPanelGroup panel;
    private String field;

    public TesteMB() {

    }

    public void submit() {
        System.out.println("Form submited!!!");
    }

    // gets and sets

}

最後に、同じメッセージを 2 回出力します。見て:

ここに画像の説明を入力

RENDER_RESPONSE 以外の任意のサイクルで JSF のライフサイクルを見ると、4 つのコンポーネントがあります。ここにいる誰かがこれを経験したことがありますか?

この問題は、バージョン 2.1.22 以降で発生していることが確認されています。なぜだかわからない。試してくれたみんなに感謝します。

4

1 に答える 1