PrimeFaces 3.5でfileUploadコンポーネントを作成してイベントを発生させることはできません。私はその話題に関する多くの記事を読んでそこにアドバイスしたが、それでもうまくいきません。私はすべてのモード(シンプル、オート、アドバンス)を成功させずに試しました。fileUploadはJSF 2.2のPrimeFaces 3.5でイベントを起動しません
標準のinputFileタグをJSF仕様から使用すると、正しく動作します。
これは私のweb.xmlファイルである:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>redmond</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>
</filter>
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>faces/home.xhtml</welcome-file>
</welcome-file-list>
</web-app>
そして、これは、ファイルアップロードタグと私の見解ページの一部です:
<h:form enctype="multipart/form-data">
<p:dialog id="basicDialog" header="Add pictures" widgetVar="dlg1" >
<p:fileUpload fileUploadListener="#{galleryManagedBean.addPicturesToGallery}" multiple="true"/>
</p:dialog>
</h:form>
エキス管理対象Beanから呼び出されるメソッドを持ちますタグから:
@Named(value = "galleryManagedBean")
@RequestScoped
public class GalleryManagedBean {
public void addPicturesToGallery(FileUploadEvent event)
{
System.out.println("Triggered upload");
}
}
また、私は、HTTP POST要求はIの後に適切に解雇されていることを追加したいと思いますChromeのデバッガツールを使用して確認しました。
Iは、クラスパス、すなわちに必要なライブラリを追加しました:
commons-fileupload-1.3.jar
commons-io-2.4.jar
PF 3.5は、JSF 2.0/2.1用に特別に開発されたものであり、必ずしもJSF 2.2で動作するとは限りません。 PF 4.0は、JSF 2.2用に特別に開発されたもので、2日前に偶然にリリースされました。私は試してみることをお勧めします。 – BalusC
ビンゴ! PF 4.0では正常に動作します。ありがとう@BalusC! – bajer83
素晴らしい。私はもう少し研究を行い、答えを掲示した。 – BalusC