Хочу сделать switchFacet для практики, но тщетно. На самом деле не знаю, с чего начать. Это можно написать только на java? Вот мой код. Я пытаюсь передать переменную через sessionScope. Кнопка обновляет значение, а фасет — нет. Фасет меняет значение, если я нажимаю URL, а затем ENTER.
Это моя Xpage:
<xc:FacetContainerCC viewPanelTest="#{sessionScope.VarTest}">
<xp:this.facets>
<xp:div xp:key="SecondCC"><xc:SecondCC></xc:SecondCC></xp:div>
<xp:div xp:key="FirstCC"><xc:FirstCC></xc:FirstCC></xp:div>
</xp:this.facets>
<xp:button value="#{javascript:sessionScope.VarTest}" id="button1">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action><![CDATA[#{javascript:if (sessionScope.get("VarTest") == "First")
sessionScope.put("VarTest", "Second"); else sessionScope.put("VarTest","First");}]]>
</xp:this.action>
</xp:eventHandler>
И моя грань:
<xp:callback id="callback1">
<xp:this.facetName><![CDATA[#{javascript:
var viewPanelTest = sessionScope.get("VarTest");
if (viewPanelTest == "First") return "FirstCC";
else return "SecondCC";}]]>
</xp:this.facetName>
I noticed there is a difference between updating page by button and re-entering URL. Button makes POST request, re-entering URL makes GET request. FirstCC and SecondCC are custom components dropped on facet. And... sessionScope variables with same name co-exists on client and server, right?
<xe:switchFacet />
? - person Tim Tripcony   schedule 07.01.2014