发生fileUpload时无法更新outputText
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了发生fileUpload时无法更新outputText相关的知识,希望对你有一定的参考价值。
我正在使用primefaces 6,并希望编写一个包含多个文件上传字段的表单。这将是动态的:有时会有6个字段,有时只有2个字段,有时候是29个字段(!)。
在每个fileUpload之后,我有一个outputText来显示上传文件的名称,如果它已经上传的话。当文件上传发生时,我的消息和growl组件被成功更新,但不是outputText字段(恰好是具有动态id的字段)。我怎样才能解决这个问题?我已经尝试更新outputText字段,母亲h:panelGroup和p:panelGrid。我认为我的动态ID解决方案无法运行。
<c:forEach items="#{myBean.myList}" var="tipoArq" varStatus="varStatus">
<p:panelGrid id="#{'panelGroupArquivo'.concat(tipoArq.ordem)}">
<div style="overflow: hidden; margin-bottom: 5px;">
<p:fileUpload id="#{'arquivo'.concat(tipoArq.ordem)}"
fileUploadListener="#{myBean.uploadSomeFile}"
mode="advanced"
update="#{'nomeArquivo'.concat(tipoArq.ordem)} messages :form:growl"
auto="true"
sizeLimit="#{tipoArq.tipoArqAnual.maxSize}"
allowTypes="/(.|/)(pdf)$/"
style="width: 500px;" required="true">
<f:attribute name="idTipoArquivoAnualTipoUg" value="#{tipoArq.id}" />
</p:fileUpload>
</div>
<h:outputText id="#{'nomeArquivo'.concat(tipoArq.ordem)}"
value="#{myBean.getFileNameByOrdem(tipoArq.ordem)}" style="margin-right: 5px;"/>
</p:panelGrid>
<br/>
</c:forEach>
我尝试在update属性中使用以下语法:
- {'filename.concat(filetype.order)}
- {':form:filename.concat(filetype.order)}
- {'form:filename.concat(sortArchame)}
- {'panelGroupFile.concat(OrderArchame)}
- {':form:panelGroupFile.concat(orderArray type)}
- {filename.concat(fileName)}(如评论中所建议)
这个panelGrid最初是一个h:panelGroup,试图更新它没有成功。有没有其他方法可以指示p:fileUpload我希望它更新他旁边的outputText字段?
提前谢谢,抱歉我的英语不好。 =]
真正的问题是我的outputText的值是空的。我通过调试页面的请求发现了它:在fileUpload之后,有一个XML格式的响应,其他消息组件包含正确的文本,并且span字段(outputText)也存在,但是空的。
以上是关于发生fileUpload时无法更新outputText的主要内容,如果未能解决你的问题,请参考以下文章
在理解更新 Dynamodb 中的数据时遇到问题。我无法理解此 updateTodo 中发生了啥
ipywidgets - widgets.FileUpload,更新CSV文件读取CSV文件