1
我試圖上傳文件並從PrimeFaces 3.5的選擇框中傳遞一個參數。通過PrimeFaces文件上傳將值傳遞給後臺bean
這是我的形式:
<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>
ConfiguratioBean只是一個JSF @ViewScoped
豆包含getter和setter的loaderName
。
我ConfigurationAction豆:
@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
總是從configurationBean
null
。如果我嘗試將文件上載切換到簡單模式,請將該文件作爲值存儲在configurationBean
中,並且有一個用於上載單個文件的命令按鈕,然後該文件正在工作。但我需要上傳到advanced
。所以問題是如果PrimeFaces文件上傳表單處於高級模式,如何將參數傳遞給後備bean?
工作正常!謝謝! – user2219247