ich eine Managed Bean in ViewScope Modus. Wenn ich also eine Aktion von dieser Managed Bean anrufe, wird meine Seite nicht aktualisiert. Ich sehe, dass meine Aktion gut aufgerufen wird und Null zurückgibt (viewscope Workflow ist OK).JSF ViewScope - Rückkehr null auf Aktionen nicht aktualisiert die Ansicht
Also, was mache ich falsch?
Wenn ich die Seite mit Ajax rerender es funktioniert gut.
EDIT:
Meine Versionen sind:
JSF 2.1.14 mit Primefaces 3.4.1
Mein Code:
@ManagedBean(name = "test")
@ViewScoped
public class TestMB implements Serializable {
private String status;
public String getStatus() { return this.status; }
public void setStatus(String status) { this.status = status; }
public String changeStatus() {
this.status = "ViewScope Works!";
return null;
}
}
Meine Seite:
<!DOCTYPE HTML>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
template="/template/ui.xhtml">
<ui:define name="head">
</ui:define>
<ui:define id="teste" name="content">
<h:form id="form">
<h:outputText id="status" value="OK?: #{test.status}" />
<p:commandButton id="myAction" value="Do it!" action="#{test.changeStatus}" />
</h:form>
</ui:define>
</ui:composition>
Auf meinem s chreen, die Statusvariable nicht ändern. Und, ja .. die Aktion heißt OK. Ein Tipp?
das Offensichtliche zu vermeiden, wird diese Aktion von Ajax oder nicht aufgerufen? Sie rufen also die Aktion mit Ajax auf, aber nicht mit Ajax? – BalusC
Nicht. Ich versuche es auf zwei Arten: Normal und Von Ajax. Normal funktioniert nicht. Durch Ajax/render die Komponentenansicht, funktioniert gut. Ich sehe auf Firebug, dass die HTML-Antwort OK unterstützt (durch normalen Aufruf), aber die VIEW auch nicht aktualisieren/aktualisieren. – abyteneverlie
Zeigen Sie den Code im Geschmack eines SSCCE. Wie wird die Vorbereitung, dass für JSF, unsere JSF Wiki-Seite http://stackoverflow.com/tags/jsf/info – BalusC