Primefaces 6.0では、アップロードする前にファイルを処理する必要があり、[参照]ボタンを押して別のメソッドを呼び出そうとします。私はremoteCommandを試してみますが、動作しません。Primefaces FileUploadコールでp:remoteCommandでメソッドを指定
<p:fileUpload allowTypes="/(\.|\/)(csv|zip)$/"
value="#{geoDataBean.file}" mode="simple" oncomplete="loadCountries();"
update="countriesDropdownPanel">
</p:fileUpload>
<p:remoteCommand name="loadCountries" process="@this"
action="#{geoDataBean.loadCountries()}"/>
<h:panelGroup id="countriesDropdownPanel">
<p:selectCheckboxMenu
widgetVar="countryCode"
id="countryCodeId"
value="#{geoDataBean.selectedCountryCodes}"
label="#{geoDataBean.label}"
multiple="true"
panelStyle="width:198px">
<p:ajax
event="toggleSelect"
update="countryCodeId"
listener="#{geoDataBean.update}" />
<f:selectItems value="#{geoDataBean.countryCodeList}" />
</p:selectCheckboxMenu>
</h:panelGroup>
<h:commandButton value="Import" action="#{geoDataBean.importGeoData}" />
インポートする前にファイルを処理する必要があります。インポートするファイルがどの国にあるかを確認する必要があるためです。
私はUploadedFileを使用します。あなたは、クライアント側でファイルにアクセスする必要がある場合は
アップロード後に確認して保存しないかどうかを選択できますか? –
ファイルを読み込む前にロードする必要があります。なぜなら、ドロップダウンから値を選択するときよりも、ドロップダウン(checkBoxMeny)をポップする必要があるからです。インポートを行い、ファイルから内容を保存します。 –