Ich muss eine Art Schalter von einigen panelGroup
UI machen. über den Ansichtsbereich, i dies gemacht:JSF - Ändern panelGroup mit Ajax Anrufe - Bohnen, EL und?
<h:panelGroup layout="block" id="profile_content">
<h:panelGroup layout="block" styleClass="content_title">
Profilo Utente
</h:panelGroup>
<h:panelGroup rendered="#{selector.profile_page=='main'}">
<ui:include src="/profile/profile_main.xhtml" />
</h:panelGroup>
<h:panelGroup rendered="#{selector.profile_page=='edit'}">
<ui:include src="/profile/profile_edit.xhtml" />
</h:panelGroup>
<h:panelGroup rendered="#{selector.profile_page=='insert'}">
<ui:include src="/profile/profile_articles.xhtml" />
</h:panelGroup>
</h:panelGroup>
nun diesen Wert zu ändern, ich eine exklusive JavaBean geschrieben, Selector genannt:
@ManagedBean(name="selector")
@RequestScoped
public class Selector {
@ManagedProperty(value="#{param.profile_page}")
private String profile_page;
public String getProfile_page() {
if(profile_page==null || profile_page.trim().isEmpty()) {
this.profile_page="main";
}
return profile_page;
}
public void setProfile_page(String profile_page) { this.profile_page=profile_page; }
}
Also mein Problem, gelingt es jetzt: wenn i Ändern Sie den "Kontext" mit einigen h:commandButton
, ich möchte asynch Aufruf an den Server verwenden. Das ist mein Button Panel:
<h:commandButton value="EDIT">
<f:ajax event="action" execute="???" render=":profile_content"/>
</h:commandButton>
<h:commandButton value="PM">
<f:ajax event="action" execute="???" render=":profile_content"/>
</h:commandButton>
<h:commandButton value="ARTICLES">
<f:ajax event="action" execute="???" render=":profile_content"/>
</h:commandButton>
Ich weiß nicht, was auf execute
, setzen, so dass ich den Wert Beans bearbeiten und ich den Kontext ändern, indem render=":profile_content"
Hoffnung diese Frage comprehendible verwendet. Verzeihen Sie mir über die Sprache :)
Prost
Danke für den Vorschlag über CamelCase. Ja, das funktioniert. Das finde ich komisch, dass wenn ich entferne, es eine normale Anfrage an den Server macht (Seite wird neu geladen). Ansonsten, wenn ich hinzufüge, arbeitet der vorherige ActionListener als asynch. Seltsames Verhalten, ich muss lernen, warum das passiert :) –
markzzz
Das ist der ganze Sinn von 'f: ajax'. Um es in asynchrone (ajaxische) Submit zu ändern. – BalusC
Sie sind ein Experte von JSF! Wie schon oft gesagt, Danke nochmal! Ich denke du verdienst 1-10 Biere :) – markzzz