如何在使用fileUpload上传文件后加载p:selectOneMenu?

时间:2013-12-13 04:15:57

标签: jsf primefaces selectonemenu jsf-2.2

我正在使用PrimeFaces 4.0的fileUpload功能上传.css文件。然后,应用程序需要加载文件中的所有样式表类。然后应用程序应该使用类来呈现selectOneMenu,其中一个用户将选择,然后将应用于另一个元素。

问题是我在上传文件后找不到更新selectOneMenu的方法。从selectOneMenu ManageBean加载元素时,我的文件上传时间更长。

以下是upload.xhtml

<h:form id="Edit" enctype="multipart/form-data">
<p:fileUpload fileUploadListener="#{sintaxisWizard.handleFileUpload}"
    mode="advanced" 
    update="growl productCode" 
    label="Escoge archivo css" 
    auto="true"
    sizeLimit="10485760" 
    allowTypes="/(\.|\/)(css)$/" 
    invalidSizeMessage="El maximo tamaño del archivo es 10 Megabytes !"
    invalidFileMessage="Unicamente se puede subir archivos css" />
</h:form>

我的selectOneMenu

<p:selectOneMenu id="combo" value="#{sintaxisWizard.animalSelected}">
    <f:selectItem itemLabel="Select..."  noSelectionOption="true"/>
    <f:selectItems value="#{sintaxisWizard.allAnimals}" />
</p:selectOneMenu>

1 个答案:

答案 0 :(得分:0)

Si necesitasunatraducciónalespañol,y teloprokereré。

您需要设置update的{​​{1}}组件才能实际更新正确的组件。现在,它设置为更新p:fileUploadgrowl,而不是productCodecombo的ID。

这些都不涉及在为用户动态加载新CSS页面时将遇到的问题,这将非常困难(尽管技术上可行)。