ここに、primefacesコマンドボタンのupdate属性に指定された値に関するクエリがあります。
これが簡単なコードです。簡単なxhtmlページがあります
<h:body>
<h:form id="main">
<p:growl id="maingrowl" showDetail="true"></p:growl>
<p:panelGrid id="mainpanel" columns="2">
<p:commandButton value="Ajax Submit" update="test" id="ajax"
actionListener="#{mytestBean.display}" />
</p:panelGrid>
<p:panelGrid id="test" rendered="#{mytestBean.show}" columns="1">
<h:inputText value="#{mytestBean.val1}" />
<h:inputText value="#{mytestBean.val2}" />
<p:commandButton value="value in" id="aj" update="test"
actionListener="#{mytestBean.displaysec}">
</p:commandButton>
</p:panelGrid>
</h:form>
</h:body>
ここで、panelgridの「test」を更新する必要がある場合は、最初のコマンドボタンで、コマンドボタンの更新属性に「:main:」というプレフィックスが付いたID「test」を指定する必要があります。これは、ブラウザのビューソースで見つけたHTMLDOM。しかし、update属性に「test」を指定するだけでも更新できました。したがって、ここでの私の質問は、IDで「:」を使用する必要があるのはいつですか、それとも必須ですか、それとも属性にIDを指定するための事前定義されたルールがありますか?
また、update属性で指定されたIDが、それが配置されているUINamingContainerを介していることも認識しています。些細なことならご容赦ください。ここで本当に混乱しています。
どんな助けでも大歓迎です。ありがとうございました。