0

最近、Primefaces UI を使用するプロジェクトに取り組んでいます。要件の 1 つは、ユーザーが複数の行を選択できるデータ テーブルを用意することです。http://www.primefaces.org/showcase-labs/ui/datatableRowSelectionRadioCheckbox.jsfに似たものを実装しましたが、機能しませんでした。

最初は、自分のコードに何か問題があると思っていましたが、primefaces から例をコピーしたときにも機能しませんでした。それで、私の技術スタックに何か問題があるのではないかと思っていました: JavaEE6、Glassfish 3.1.2.2、mojarra(javax.faces) 2.1.16、primefaces 3.4.2。

サンプルコードについては、上記のリンクからそのままコピーしました。

単一選択も機能しないことに注意してください。

4

1 に答える 1

0

この問題は次の方法で解決できました。

1.) 新しいプロジェクトをゼロから作成し、スタックが実際に機能するかどうかをテストします。Arjan Tijms が言ったように、mojarra の最新バージョンに依存関係を追加しても無視されます。新しいアプリを Glassfish にデプロイしてみると、次の行に気付くでしょう。

[#|2012-12-31T11:19:15.958+0800|INFO|glassfish3.1.2|javax.enterprise.resource.webcontainer.jsf.config|_ThreadID=39;_ThreadName=Thread-2;|Initializing Mojarra 2.1.6 (SNAPSHOT 20111206) for context '/web-demo-0.0.1-SNAPSHOT'|#]

2.) 私の Bean は SessionScoped なのでシリアライズ可能ですが、注入された ResourceBundle と FacesContext を一時的なものとしてマークするのを忘れていました。(私の主な問題)。

3.) ポップアップ ダイアログを使用したプライムフェースの選択の例では、アクション ボタンが更新用のダイアログ要素 ID をターゲットにしていることを確認してください。

4.) Eclipse プロジェクトとプロジェクトの依存関係で maven clean を必ず実行してください。たとえば、mojarra への依存関係を定義した web-commons がありますが、メイン プロジェクトをクリーンアップし続けていますが、commons 依存関係が mojarra jar を最終的な耳に追加していることに気付きませんでした。

以上で、私のプロジェクトは適切に機能するようになりました:-)ありがとう。

于 2012-12-31T03:24:13.070 に答える