私はprimefacesレイアウトコンポーネントを使用していて、中央と右のlayoutUnitを持っています。私は最初のページを読み込むときにデフォルトの右のレイアウトを折りたたんだ状態にするため、右のlayoutUnitを展開するリンク/ボタンを中央のレイアウトに配置したいと思います。私は正しいlayoutUnitでブール式を使用しています。私はリンクからそれを更新します。正しいlayoutUnitが私のリンクから更新されたajaxedを取得しないことを除いて、すべてが機能します。ページをリフレッシュすると、正しいlayoutUnitが展開されます。Primefaces条件付きでLayoutUnitを展開
ページ:
<h:form prependId="false">
<p:layout fullPage="true">
<p:layoutUnit id="right" position="right" width="350" header="Marker Details" resizable="true" closable="true" collapsible="true" collapsed="#{mapBean.rightCollapsed}">
<h:outputText value="#{mapBean.text}" />
</p:layoutUnit>
<p:layoutUnit position="center">
<p:commandLink actionListener="#{mapBean.showDetail}" update="right" value="Expand Right Layout"/>
</p:layoutUnit>
</p:layout>
</h:form>
豆:
public class MapBean implements Serializable {
private boolean rightCollapsed=true;
public void showDetail(ActionEvent e){
rightCollapsed=false;
}
//getter/setter for rightCollapsed