ファイルをアップロードして、PrimeFaces 3.5 の選択ボックスから 1 つのパラメータを渡そうとしています。
これは私のフォームです:
<h:form id="idAssessmentsUploadForm" enctype="multipart/form-data">
<h:panelGrid cellspacing="10" styleClass="standard-panel" columns="2" id="idAssessmentsUploadPanelGrid">
<h:outputText value="#{msg['application.assessmentsUploadRequest.loader']}"/>
<p:selectOneMenu id="idLoader"
style="width: 230px;"
required="true"
value="#{configurationBean.loaderName}">
<f:selectItems value="#{configurationBean.loaders}"/>
</p:selectOneMenu>
</h:panelGrid>
<p:fileUpload fileUploadListener="#{configurationAction.processConfigurationUpload}"
allowTypes="/(\.|\/)(gif|jpe?g|png)$/"
update="messages"
mode="advanced"/>
</h:form>
@ViewScoped
ConfiguratioBean は、 のgetter と setter を含む単なる JSF Bean ですloaderName
。
私の ConfigurationAction Bean:
@ManagedBean(name = Beans.CONFIGURATION_ACTION)
@ViewScoped
public class ConfigurationAction extends BaseAction {
public void processConfigurationUpload(FileUploadEvent event) {
ConfigurationBean configurationBean = getBean(Beans.CONFIGURATION_BEAN);
UploadedFile file = event.getFile();
addInfoMessage("Upload Successful");
}
}
アップロードをクリックするとファイルを受信していますが、パラメータはloaderName
常に. ファイルのアップロードをシンプル モードに切り替えようとすると、ファイルを値として入力し、単一のファイルをアップロードするコマンド ボタンが表示されます。しかし、私はアップロードする必要があります。問題は、PrimeFaces ファイルのアップロード フォームが高度なモードの場合に、どのようにパラメーターをバッキング Bean に渡すかです。null
configurationBean
configurationBean
advanced