İki sekme içeren bir sekme görünümüm var.Primefaces sekmesi: Etkin dizini sekme değiştirmeyi ayarlama
Sekme 1'den sekme 2'ye geçtiğimde, bir doğrulama gerçekleştiren ve bazı değerleri güncelleyen bazı kodları arıyorum. Bu doğrulamanın sonucuna bağlı olarak, sekme 1'de kalmak veya sekme 2'ye gitmek ve sekmelerin içeriğini yenilemek istiyorum.
Benim TabView: Ben yönteminde aktif sekme dizini değiştirmeden bunun gibi, yeterli olacağını düşündük
public void doStuff() {
s1 = String.valueOf(Math.random());
s2 = String.valueOf(Math.random());
}
: simly değerlerini değiştirir
<h:form id="form">
<p:tabView id="tabview" activeIndex="#{ctrl.idx}" dynamic="true" cache="false">
<p:ajax event="tabChange" listener="#{ctrl.doStuff}" update=":form:tabview"/>
<p:tab title="Tab 1" id="t1">
<h:panelGrid columns="1" cellpadding="10">
<h:outputText value="#{ctrl.s1}"/>
</h:panelGrid>
</p:tab>
<p:tab title="Tab 2" id="t2">
<h:panelGrid columns="1" cellpadding="10">
<h:outputText value="#{ctrl.s2}"/>
</h:panelGrid>
</p:tab>
</p:tabView>
</h:form>
Testim kodu
public void doStuff() {
// ...
idx = 0;
}
tabChange olayında, yöntem çağrılır, ancak tabview bileşenleri tıklanan ta gider. b, idx
yeni değerini göz ardı ederek.
p:ajax
'a bir güncelleştirme özniteliği ekleyerek tüm sekme görünümünü oluşturmayı düşündüm, ancak yalnızca sekmeler ve/veya sekmelerin içeriği yeniden oluşturuluyor. > Bileşen sayfasından kaybolur -
Ve update=":form:tabview"
update=":form"
veya update="@form"
, ben sadece ajax yanıtta sekmenin içeriği almak değiştirirseniz tüm en garip,
Benim fasulye viewscoped edilir, ben Primefaces 3.5, JSF 2.1 ve Tomcat 7.
herhangi bir fikir kullanıyorum? Teşekkürler.
Ben zaten denemiştim ama bir şey değişmez. Sadece sekmelerin içeriği yanıttadır, bu nedenle tabview konteyneri "kaybolur". – Virginie