Richfaces rendu avec a4j:ajax
J'ai une page qui utilise rich:fileUpload
et un a4j:commandButton
ce que je veux réaliser est la première fois que la page est chargée, la fileUpload shoul semble(être rendu, mon backingBean valeur par défaut est true et donc il s'affiche correctement) et lorsque l'utilisateur appuie sur le bouton de commande j'aimerais masquer la fileUpload et de montrer un outputText
(ce n'est pas le cas, pas d'erreur)
Comment puis-je résoudre ce problème, mon pagelooks comme
<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>
et le code de l'action du bouton de commande est:
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";
}
Est semble que formRendered
est toujours évalué à true lorsque je veux qu'il soit faux une fois qu'un utilisateur clique sur le bouton et donc la fileUpload masque et de montrer la outputText.
Mise à JOUR
Fondamentalement, ce que je veux, c'est à l'utilisateur de télécharger des fichiers lorsque l'utilisateur clique sur le bouton, le composant fileUpload disparaît et un outputText apparaît et dit quelque chose comme "Merci pour le téléchargement"
Peut-être que mon approche est mal, juste de me mettre dans la bonne direction, je suis une sorte de confondre avec l'ajax choses.
Acclamations,
le a4j:bouton de commande n'ont pas de
reRender
attribut. Je suis avec richfaces 4.1 et Mojarra 2.1.6 et Tomcatje pense qu'il soutient cas j'ai été à l'aide de:) s'il vous Plaît vérifier stackoverflow.com/a/2243473/706695 ou docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/...
Je pense que
reRender
a été remplacé par juste render
... je suppose. Merci pour votre aide.heureux de résoudre le problème:)
OriginalL'auteur BRabbit27 | 2012-02-02
Vous devez vous connecter pour publier un commentaire.
Enfin je l'ai fait !
Voici le code de sorte que vous pouvez voir les modifications.
Fondamentalement, j'ai eu à traiter l'ensemble de la forme (
execute="@form"
) qui a4j:bouton de commande n'est déjà et puisrender="contentForm :processLabel"
.J'ai seulement été rendu (nouveau rendu?) juste le processLabel et la forme est toujours là parce que je n'étais pas la mise à jour de la vue (je pense que ce doit être avec l'arborescence DOM, quelqu'un de clarifier cette s'il vous plaît)
le backing bean reste le même.
Cheers!!!
OriginalL'auteur BRabbit27