У меня есть страница, которая использует rich:fileUpload
и , чего я хочу достичь, при первой загрузке страницы появляется файл fileUpload shoul (be rendered, my backingBean default - true, и поэтому он отображает правильно), и когда пользователь нажимает CommandButton Я хотел бы, чтобы скрыть FileUpload и показать outputText
(это не происходит, нет ошибки на всех)Рисованные рисования с a4j: ajax
Как я могу решить эту проблему, мой pagelooks как
<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>
и код действия командыButton:
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";
}
Is кажется, что formRendered
всегда оценивается истина, когда я хочу, чтобы это было ложным, когда пользователь нажимает на кнопку, и поэтому скрывает FileUpload и показать outputText.
UPDATE В основном то, что я хочу пользователю загружать файлы, когда пользователь нажимает на кнопку на пропадает компонент FileUpload и появляется outputText и сказал что-то вроде «Спасибо за загрузку»
Может быть, мой подход это неправильно, просто поставьте меня в правильном направлении, я немного путаюсь с материалом ajax.
Cheers,
Что делать, если вы попробуете rerender = "processLabel" вместо render = "processLabel" – HRgiger
a4j: commandButton не имеет атрибута 'reRender'. Я с richfaces 4.1 и Mojarra 2.1.6 и Tomcat – BRabbit27
Я думаю, что он поддерживает cas, который я использовал :) Пожалуйста, проверьте http://stackoverflow.com/a/2243473/706695 или http://docs.jboss.org/ richfaces/latest_3_3_X/en/devguide/html/a4j_commandButton.html # 6.1.6.2.% 20Details% 20of% 20Usage – HRgiger