値のリストを保持する ah:datatable を含む単純な jsf ページがあります。
すべての値について、ファイルをエクスポートするか、ファイルをインポートする必要があります。
しかし、ah:column 内で t:inputFileUpload を使用すると、コマンド ボタンはファイルを取得せず、常に null になります。t:inputFileUpload をデータテーブルの外に置くことはできますが、内部ではできません。
これを行う方法はありますか?その中に at:inputFileUpload を含む別の h:column がありますか?
これはコードです:
<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 は、送信時に常に null になるプロパティです。フォームを閉じて、その t:inputFileUpload を使用して別のフォームを書き込むと、機能しますが、ユーザーがファイルをインポートする行を区別する必要があります。