如何使用PrimeFaces p:fileUpload?侦听器方法从未被调用

如何使用PrimeFaces p:fileUpload?侦听器方法从未被调用

我试图使用PrimeFaces上传一个文件,但是fileUploadListener方法在上传完成后不会被调用。

以下是观点:

<h:form>
    <p:fileUpload fileUploadListener="#{fileUploadController.handleFileUpload}"
        mode="advanced" 
        update="messages"
        sizeLimit="100000" 
        allowTypes="/(\.|\/)(gif|jpe?g|png)$/"/>

    <p:growl id="messages" showDetail="true"/></h:form>

豆子:

@ManagedBean@RequestScopedpublic class FileUploadController {

    public void handleFileUpload(FileUploadEvent event) {
        FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");
        FacesContext.getCurrentInstance().addMessage(null, msg);
    }}

我在这个方法上放置了一个断点,但是它从来没有被调用过。使用时mode="simple"ajax="false",它被调用,但我希望它在高级模式下工作。我正在使用NetBeans和Glassfish 3.1。


哈士奇WWW
浏览 866回答 4
4回答

牧羊人nacy

你也在用彩绘吗?然后将Dispatcher设置为转发:<filter-mapping> &nbsp;&nbsp;&nbsp;<filter-name>PrimeFaces&nbsp;FileUpload&nbsp;Filter</filter-name> &nbsp;&nbsp;&nbsp;<servlet-name>Faces&nbsp;Servlet</servlet-name> &nbsp;&nbsp;&nbsp;<dispatcher>FORWARD</dispatcher></filter-mapping>

一只萌萌小番薯

关于PrimeFaces3.4和NetBeans 7.2,我注意到了一点:删除函数handleFileUpload的自动填充参数,即(事件),否则事件可能为空。<h:form> &nbsp;&nbsp;&nbsp;&nbsp;<p:fileUpload&nbsp;fileUploadListener="#{fileUploadController.handleFileUpload(event)}" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mode="advanced"&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;update="messages" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sizeLimit="100000"&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allowTypes="/(\.|\/)(gif|jpe?g|png)$/"/> &nbsp;&nbsp;&nbsp;&nbsp;<p:growl&nbsp;id="messages"&nbsp;showDetail="true"/></h:form>

Helenr

看起来像javax.faces.SEPARATOR_CHAR不能等于_
打开App,查看更多内容
随时随地看视频慕课网APP