Wie zu verwenden RequestContext in primefaces?

Ich bin neu in primefaces. Ich versuche einige Beispiele in primeface präsentieren

Aber;

Nach saveUser auf ajax-Methode handleComplete(xhr, status, args) args haben keine Argumente Hinzugefügt, in saveUser Methode.

BEARBEITEN : ich habe gerade @ManagedBean Anmerkungen, denn ich bin mit jsf 2.0

BEARBEITEN-2

in meiner pom;

        <dependency>
            <groupId>org.primefaces</groupId>
            <artifactId>primefaces</artifactId>
            <version>2.2</version>
        </dependency>

in meinem web.xml

<servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.xhtml</url-pattern>
    </servlet-mapping>

in meine .xhtml-Seite

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:p="http://primefaces.prime.com.tr/ui">

<h:head>

    <script type="text/javascript">  
        function handleComplete(xhr, status, args) {  
            if(args.validationFailed) {  
                alert("Validation Failed");  
            } else {  
                alert("Save:" + args.saved);  
                alert("FirstName: " + args.user.firstname + ", Lastname: " + args.user.lastname);   
            }  
        }  
    </script> 

</h:head>
<h:body>
<h:form>
    <p:panel id="panel" header="New User">
        <h:panelGrid columns="2">
            <h:outputLabel for="firstname" value="Firstname: *" />
            <p:inputText id="firstname" value="#{user.firstName}" required="true"/>

            <h:outputLabel for="surname" value="Lastname: *"  />
            <p:inputText id="surname" value="#{user.surName}" required="true"/>
        </h:panelGrid>
    </p:panel>

    <p:commandButton value="Save" actionListener="#{user.saveUser}" oncomplete="handleComplete(xhr, status, args)" />
</h:form>


</h:body>
</html>

in meinem bean;

@ManagedBean(name = "user")
public class User {

    private String firstName = "";
    private String surName = "";

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setSurName(String surName) {
        this.surName = surName;
    }

    public String getSurName() {
        return surName;
    }

    public void saveUser(ActionEvent actionEvent) {
        //save user
        RequestContext context = RequestContext.getCurrentInstance();
        context.addCallbackParam("saved", true);
        context.addCallbackParam("user", this);
    }

}

BEARBEITEN -3

Kann ich catch-Eigenschaften, durchgeführt mit Daten in ajax response mit this.PrimeFaces.ajax.RequestManager.requests[0].data es trägt, dass Daten ;

"j_id2059540600_7ac21836=j_id2059540600_7ac21836&j_id2059540600_7ac21836%3Afirstname=qweq&j_id2059540600_7ac21836%3Asurname=asda&javax.faces.ViewState=8900392402396831372%3A-8139730777939772917&javax.faces.partial.ajax=true&javax.faces.source=j_id2059540600_7ac21836:j_id2059540600_7ac218a5&javax.faces.partial.execute=@all&j_id2059540600_7ac21836:j_id2059540600_7ac218a5=j_id2059540600_7ac21836:j_id2059540600_7ac218a5"

Aber ich bin mir ziemlich sicher, dass es eine weitere option. Kann einfach nicht seet.

Vielen Dank für jede Hilfe.

Es wird leichter sein, zu helfen, wenn Sie Bearbeiten Ihre Frage zu enthalten, um den folgenden code: (a) die <p:ajax> element und seinem Eltern-element von Ihrem Facelets-Seite, und (b) Ihre action-listener-Methode, die von den verwalteten bean.
ich kann Sie hier posten, aber nichts mehr als in meiner ref.
keine Antwort....?
Was sind Sie versuchen zu erreichen, genau mit dem Aufruf handleComplete? Was args erwarten Sie werden automatisch als argument übergeben? Denken Sie daran JSF hat seine eigene eingebaute Validierung und die Aktion #{user.saveUser} wird nicht aufgerufen, wenn die Validierung fehlschlägt, die auf der server-Seite. Ich glaube, Sie machen das komplizierter als es sein muss.
Dank für die Antwort. Ich bin einfach zu spielen mit Komponenten für jetzt. Ich erwarte, um zu sehen, von der client-Seite, die gewünschte/erstellt Bohnen-Eigenschaften, nicht erwarten, zu sehen, ob es eine Validierung über die Aktion, oder nicht.

InformationsquelleAutor | 2011-07-11

Schreibe einen Kommentar