Richfaces Rendern mit a4j:ajax
Ich habe eine Seite mit rich:fileUpload
und ein a4j:commandButton
was ich erreichen will ist, das erste mal die Seite geladen wird die fileUpload-SC angezeigt(gerendert werden, meine backingBean Standardwert ist true und so macht es richtig) und, wenn der Benutzer trifft die Befehlsschaltfläche, ich würde lieben, Sie zu verstecken, der fileUpload und zeigen eine outputText
(dies ist nicht passiert, kein Fehler überhaupt)
Wie kann ich dieses Problem lösen, meine pagelooks wie
<div id="content">
<a4j:outputPanel id="contentForm">
<h:form enctype="multipart/form-data"
rendered="#{uploadBean.formRendered}">
<br/><br/>
<h:selectOneRadio value="#{uploadBean.selectedOption}">
<f:selectItems value="#{uploadBean.loadOptions}"/>
</h:selectOneRadio>
<br/>
<rich:fileUpload addLabel="Agregar" clearAllLabel="Quitar todos"
clearLabel="Quitar" deleteLabel="Quitar"
doneLabel="Completado" uploadLabel="Subir archivos"
fileUploadListener="#{uploadBean.doUpload}"
acceptedTypes="txt, csv"
noDuplicate="true"/>
<a4j:commandButton value="Iniciar validación"
action="#{uploadBean.doLaunchProcess}"
render="processLabel"
execute="@form"
/>
</h:form>
</a4j:outputPanel>
<a4j:outputPanel id="processLabel">
<h:outputText
value="#{uploadBean.processStarted}"
rendered="#{not uploadBean.formRendered}"/>
</a4j:outputPanel>
</div>
und den code von der Aktion der Befehlsschaltfläche wird:
public String doLaunchProcess() {
formRendered = false;
InfoValidator iv = new InfoValidator(loadOptions,
selectedOption, userBean.getDependencia(),
userBean.getTipoDependencia(), userBean.getUsuario(),
userBean.getIdUsuario(), userBean.getEmail());
iv.start();
return "carga-archivos";
}
Scheint, dass formRendered
ist immer wahr ausgewertet, wenn ich will, dass es falsch ist, sobald ein Benutzer auf die Schaltfläche klickt und so die fileUpload versteckt und zeigen die outputText.
UPDATE
Im Grunde, was ich will, ist das hochladen von Dateien ein, wenn der Benutzer auf die Schaltfläche klickt die fileUpload-Komponente verschwindet und ein outputText angezeigt, und sagte etwas wie "vielen Dank für das hochladen"
Vielleicht ist mein Ansatz falsch ist, stecken Sie mich einfach in die richtige Richtung, ich bin eine Art zu verwechseln mit der ajax-Zeug.
Cheers,
die a4j:commandButton keine
reRender
Attribut. Ich bin mit richfaces 4.1 und Mojarra 2.1.6 und Tomcatich denke, es unterstützt cas war ich mit:) überprüfen Sie Bitte stackoverflow.com/a/2243473/706695 oder docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/...
Ich denke
reRender
wurde ersetzt durch nur render
... denke ich. Vielen Dank für Ihre Hilfe though.glücklich, das problem zu lösen:)
InformationsquelleAutor BRabbit27 | 2012-02-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Endlich habe ich es geschafft !
Hier ist der code, so können Sie die änderungen.
Grundsätzlich habe ich zu Bearbeiten hatte, die das gesamte Formular (
execute="@form"
), die a4j:commandButton funktioniert schon und dannrender="contentForm :processLabel"
.War ich nur Rendern (reRendering?) nur die processLabel und die form war immer da, weil ich nicht die Aktualisierung der Ansicht (ich denke, das hat mit dem DOM-Baum, jemand, klären Sie diese bitte)
backing-bean bleibt die gleiche.
Prost!!!
InformationsquelleAutor BRabbit27