Uncaught TypeError: this.jq.fileupload не является функцией в простых гранях 4.0, когда use mode = "advance" загрузчик ajax-файла - PullRequest
0 голосов
/ 26 октября 2018

Я использовал версию jsf 2.2.x и Primefaces 4.0.я также использовал версии jquery, такие как 1.10.1 и 2.1.4

<h:form id="uploadForm" enctype="multipart/form-data">
        <p:fileUpload fileUploadListener="#{bean.handleFileUpload}"
                      mode="advanced" dragDropSupport="false"
                      update="messages"
                      sizeLimit="10000000"
                      fileLimit="3"
                      allowTypes="/(\.|\/)(gif|jpe?g|png)$/" />

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

, а также использовал заголовки, как показано ниже.

<h:head>
    <title><h:outputText value="#{userBean.title}"/> - Dashboard</title>
    <meta http-equiv="keywords" content="xyz"/>
    <meta http-equiv="description" content="Dashboard"/>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
</h:head>

Других ссылок или сценариев нет.теги между головой тегом.только теги стиля.

web.xml

<context-param>
    <param-name>primefaces.THEME</param-name>
    <param-value>bootstrap</param-value>
</context-param>
<context-param>
    <param-name>primefaces.UPLOADER</param-name>
    <param-value>commons</param-value>
</context-param>
<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/</url-pattern>
</servlet-mapping>
<filter>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
    <init-param>
        <param-name>thresholdSize</param-name>
        <param-value>51200</param-value>
    </init-param>
    <init-param>
        <param-name>uploadDirectory</param-name>
        <param-value>/tmp/</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>PrimeFaces FileUpload Filter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
</filter-mapping>

Bean.java

@ManagedBean(name = "bean")
@ViewScoped
public class Bean {
    public void handleFileUpload(FileUploadEvent event) {
        System.out.println("invoked");
        FacesMessage message = new FacesMessage("Succesful", 
        event.getFile().getFileName() + " is uploaded.");
        FacesContext.getCurrentInstance().addMessage(null, message);
    }
}

приведенный выше код извлеченчасть из всего кода.Пожалуйста, помогите мне решить эту проблему. Спасибо!

...