私は2つのフィルタを持つweb.xmlファイルを持っています。PrimeFaces FileUploadフィルタ& loggedInFilter。私がloggedInFilterにコメントすると、FileUploadフィルターが正常に動作します。& FileUploadEventがトリガーされます。私は両方のフィルタをweb.xmlに保持しているので、FileUpoadFilterはトリガされません。以下は、アプリケーション内の別のフィルタ、すなわちloggedInFilterはPrimeFacesのファイルアップロードフィルタの前に実行されますが、それは解決しないので、私はPrimeFacesのFileUploadフィルターフィルター・マッピングでも、ディスパッチャが含まれるようにしようとしたweb.xmlに複数のフィルタがある場合、FileUploadイベントはトリガされません
<context-param>
<param-name>primefaces.UPLOADER</param-name>
<param-value>commons</param-value>
</context-param>
<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>
<filter>
<filter-name>loggedInFilter</filter-name>
<filter-class>com.web.filter.loggedInFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>loggedInFilter</filter-name>
<servlet-name>*.xhtml</servlet-name>
</filter-mapping>
私のweb.xmlのです。
<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>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
私は両方のフィルタをweb.xmlに保存する必要があるため、何をする必要があるか教えてもらえますか?
あなたの 'loggedInFilter'は何とかファイルのアップロード要求をブロックしています。 'loggedInFilter'は自国のフィルタだと思われ、そのソースコードはどこにも見えないので、誰もそのフィルタのコードミスを指摘することはできません。 – BalusC
@ BalusC正しいloggedInFilterは、自家製フィルタです。コードをかなり長いものにすることはできず、クライアントマシンでしか利用できません。 FileUploadFilter.doFilter()とFileUploadRender.decode()にブレークポイントを設定すると、それらは正常に動作していますが、Viewクラスで定義されたFileUploadEventは呼び出されず、デバッガポイントはビュークラスに到達しませんでした。 – Harleen
MCVEフレーバーでコードをポストするだけです。確かに、コードスニペット全体が、誤動作の原因となる1つのユニット全体ではありません。ほとんどの最小限のライン 'chain.doFilter(request、response)'から始めてください。これは常に動作することが保証されています。それから、元のソースコードから1行追加するたびに、誤動作が始まるまで追加してください。論理的には、最後に追加された行が問題の原因です。最後に、「私のカスタムフィルタにこの行[xxx]を追加すると、PrimeFacesファイルのアップロードフィルタが機能しなくなります。どのようにして解決できますか?」という完璧な質問です。 – BalusC