2

私は JSF 2.0 を使用しており、primefaces autoComplete (複数) フィールドといくつかのファイル入力を含むフォームがあります。ファイル入力を使用しているため、 h:form タグはenctype="multipart/form-data"を使用しています。

ただし、フォームをマルチパートに設定すると、オートコンプリート フィールドは最後の項目のみを Bean に返します (リストのサイズは常に 1 です)。この問題は、primefaces オートコンプリートの代わりに通常の複数選択要素を使用した場合にも発生します(オートコンプリートは非表示の複数選択要素を使用します)。enctype="multipart/form-data" を削除すると、この問題は解消されますが、もちろん、Bean はアップロードしたいファイルを検出できません。

誰かがこの問題に直面し、解決策を見つけましたか?

使用しています: Liferay 6.1 GA2、Primefaces 3.5、Mojarra 2.1.21

4

3 に答える 3

1

Anghel Leonard は記事Uploading multiple files using pass through namespace ( http://xmlns.jcp.org/jsf/passthrough) to add multipleattributes とOverriding FileRenderer#decodeメソッドでアップロードされたファイルを抽出する方法について説明しています。

于 2014-07-28T08:20:03.480 に答える
0

JBoss EAP 6.1 でも同じ問題がありました。これは、Wildfly 8.x まで修正されていない Request.java オブジェクトの実装のバグであることが判明しました。ここを参照してください: https://community.jboss.org/thread/223085

これを回避するために、BalusC のブログ ( http://balusc.blogspot.com/2007/11/multipartfilter.html ) のフィルターを使用しました。

JBoss は 3.0 サーブレット仕様ですが、BalusC の関連するブログ エントリを 3.0 に使用することはできませんでした。これはバグのためです。

于 2014-01-31T10:51:22.010 に答える
-1

この問題に直面している人には、代わりに jquery のオートコンプリート ウィジェットを使用するようになったことを共有したいと思います。

于 2013-10-11T08:42:20.200 に答える