環境: Tomcat 6、jsf 2.0、プライム フェイス 2.2.1、chrome エクスプローラー
左の展開されたツリーの「ViewDetail」リンクをクリックして、製品の詳細情報を表示したい。しかし、以下のコードは機能しませんでした。次に、属性 ajax="false" をリンクに追加すると、うまくいくようです。ただし、ページの左側にある「p:treeTable」も更新され、折りたたまれています。では、これを行うにはどうすればよいですか。左側の展開されたツリー ノードのリンクをクリックし、ページの右側に情報を表示して、左側の展開されたツリー ノードを展開したままにします。
<h:form id="BizTypeTreeTableForm" >
<p:layout fullPage="true">
<p:layoutUnit id="left" position="left" scrollable="true" width="350" resizable="true" closable="false" collapsible="true" minWidth="250" >
<p:treeTable id="BizTypeTreeTable" value="# {treeTableController.root}" var="treeTable">
<p:column>
<f:facet name="header">ProductName</f:facet>
<h:outputText value="#{treeTable.TYPENAME.value }" />
</p:column>
<p:column style="width:5%">
<f:facet name="header">Action</f:facet>
<p:commandLink value="ViewDetail" update="content" action="#{treeTableController.showDetail}">
</p:commandLink>
</p:column>
</p:treeTable>
</p:layoutUnit>
<p:layoutUnit id="center" rendered="true" position="center" style="text-align:left;" scrollable="true" >
<h:outputText value="Please click the left tree node" rendered="# {allTabManager.productObject.TypeNo.value eq null}"/>
<div id="content" class="ui-widget">
<div class="post">
<ui:insert name="content_tab" >...</ui:insert>
</div>
</div>
</p:layoutUnit>
</p:layout>
</h:form>