我有一个简单的 jsf 页面,其中 ah:datatable 包含一个值列表。
对于每个值,我都必须导出文件或导入文件。
但是当我在 ah:column 中使用 t:inputFileUpload 时,命令按钮永远不会获取文件,始终为空。将 t:inputFileUpload 放在数据表之外是可行的,但在里面,我做不到。
有没有办法做到这一点?里面有另一个 h:column 和 at:inputFileUpload 吗?
这是代码:
<h:form id="strategiesForm" enctype="multipart/form-data" styleClass="jsfcrud_list_form">
<h:dataTable value="#{strategy.strategyItems}" var="item" border="0" cellpadding="2"
cellspacing="0" rowClasses="jsfcrud_odd_row,jsfcrud_even_row" rules="all"
style="border:solid 1px">
<f:facet name="header">
<h:outputText escape="false" value="Importación"/>
</f:facet>
<h:panelGrid columns="1" border="0">
<h:outputText value="Actualizar formulario"/>
<t:inputFileUpload id="file" value="#{strategy.xmlFormFile}"/>
<h:commandButton value="Actualizar" action="#{strategy.importForm}">
</h:commandButton>
</h:panelGrid>
</h:column>
</h:dataTable>
</h:form>
上述代码中,strategy.xmlFormFile 是提交时始终为空的属性;如果我关闭表单并使用 t:inputFileUpload 编写另一个表单,它可以工作,但我必须区分用户想要将文件导入到哪些行。