0

以前は ui.repeat を使用してコレクションを反復処理し、primefaces データテーブルをいくつか作成していました。ただし、その時点では動的 ID をデータテーブルに設定できませんでした。そのため、いくつかの調査を行った後、c:foreach に変更することを考えました。ただし、c:forach が実行されるビルド時にコレクションが空であると考えているため、データテーブルが生成されません。私はjstl 1.2を使用しています。リストを作成した後、次のことを試しました。

    HttpServletRequest origRequest=(HttpServletRequest)FacesContext.getCurrentInstance        ().getExternalContext().getRequest();
    origRequest.setAttribute("dataList",dataList);

次に、xhtml でこれを試しました: items="${dataList}" しかし、何も機能していないようです。助けてください。

編集:機能要件

ui:repeat/p:datalist/c:foreach などを使用して、実行時に複数のデータ テーブルを生成します。次に、バックエンドから、これらのデータ テーブルのそれぞれにアクセスしたいのですが、primefaes dataexporter を使用してそれらを pdf ファイルに書き込みたいからです。 .この目的のために、動的IDをデータテーブルに割り当てたいと思っていました.しかし、私はそれを機能させることができません.

4

1 に答える 1

0

コメントから:

jstl 名前空間を xmlns:c="http://java.sun.com/jstl/core"; に変更した後 今、それはループの中に入っています

これは、質問で述べたこととは反対に、JSTL 1.1/1.2 ではなく、実際にJSTL 1.0 を使用していることを示唆しています。つまり、実行時のクラスパスが混乱しています。この場合のよくある初心者の間違いはstandard.jar、JSTL で何かが機能しなかったために勝手にファイルをダウンロードしたことであり、完全に時代遅れのリソースや貧弱なリソースのどこかに言及されているのを見たからです (特に roseindia.net があなたの生涯のインターネットブラックリストですよね?)JSTL 1.2 を使用する場合、このファイルは必要ありません。

適切なダウンロード リンクと適切なアプローチについては、JSTL wiki ページにあるバージョンの概要とインストール手順をよくお読みください。

于 2013-08-16T11:17:53.313 に答える