BRa*_*t27 2 jsf rendering file-upload button primefaces
我有一个带有p:fileUpload和p:commandButton的页面,第一次访问页面时应该隐藏按钮,并且在文件上传后应该呈现按钮.我的代码如下所示,关于如何实现这一点的任何想法?
<h:form enctype="multipart/form-data" >
<p:fileUpload
fileUploadListener="#{fileUploadController.handleFileUpload}"
mode="advanced"
multiple="true"
sizeLimit="2000000000"
allowTypes="/(\.|\/)(txt|csv)$/"
required="true"
label="Seleccionar"
uploadLabel="Subir a servidor"
cancelLabel="Cancelar">
</p:fileUpload>
<p:commandButton id="btnValidar" value=" Validar "
rendered="#{fileUploadController.btnRendered}"
style="margin-left: 430px;"/>
</h:form>
Run Code Online (Sandbox Code Playgroud)
只需使用与update所有其他PrimeFaces ajax组件相同的属性.
<p:fileUpload update="@form" />
Run Code Online (Sandbox Code Playgroud)
我当然假设你已经设置btnRendered为true内部handleFileUpload方法.
请注意,您无法将其设置为按钮本身的ID,因为btnRendered默认情况下它不会出现在HTML DOM树中false.它就是JavaScript,它根据检索到的Ajax响应在HTML DOM树中执行更新作业.如果要单独更新按钮而不是表单,请将其包装在HTML DOM树中始终存在的另一个组件中:
<h:panelGroup id="btnValidar">
<p:commandButton rendered="#{fileUploadController.btnRendered}" />
</h:panelGroup>
Run Code Online (Sandbox Code Playgroud)
并按如下方式更新
<p:fileUpload update="btnValidar" />
Run Code Online (Sandbox Code Playgroud)