テンプレートがあり、その定義でいくつかのフォームとボタンを使用しています。
問題は、定義(define)xhtmlファイルがコンポーネント階層を認識していないことです。
たとえば、同じ定義ファイル内の別の形式で要素「table2」を更新したいとします。
テンプレート挿入:
<p:tabView id="nav"> <!-- nav -->
<ui:insert name="content_nav">content navigation</ui:insert>
</p:tabView>
私の階層「nav」の最初のレベルを定義します
テンプレート定義:
<ui:define name="content_nav">
<h:form id="form1"> <!-- nav:form1 -->
<h:dataTable id="table1"/> <!-- nav:form1:table1 -->
<p:inputText value="#{bean.value}"/>
<p:commandButton action="..." update="nav:form2:table2"/>
</h:form>
<h:form id="form2">
<h:dataTable id="table2"/> <!-- nav:form2:table2 -->
<!-- other elements -->
</h:form>
</ui:define>
私の定義部分では、「nav」を知りたくありません!
これどうやってするの?または、1つの名前付けコンポーネントを上に移動するにはどうすればよいですか?または、親の完全なIDの最上位を変数に保存するにはどうすればよいですか?
時々私は次のようなものを見ました:
update=":table2"
しかし、これに関する情報は見つかりませんでしたか?、JavaEE6のドキュメントには@キーワードが記載されています。