2

次の簡単なスクリプトがあります。これを使用して、リスト要素を動的に作成しています<ul>

<script type="text/javascript">
    function generate(){
        var arr = new Array();
        <c:forEach items="${articles}" var="a" varStatus="status">
            $('#listitems').append(
                "<li>"+${a.title}+"</li>"
            );
            arr[${status.index}] ="${a.slideShow.images}";
        </c:forEach>
    }
</script> 

私の問題は images 属性に起因します。すべての記事にはスライドショーがあり、すべてのスライドショーには画像のリストがあります。java list.get(index); を使用して、画像のリストから最初の画像を取り出したいと思います。「${a.slideShow.images.get(0)}」のようなことをしたい。. get() は、リスト オブジェクトの Java メソッドです。

何か案は?

4

2 に答える 2

5

ListEL では、ブレース表記を使用してインデックスで要素にアクセスできます。したがって、次のようにする必要があります。

arr[${status.index}] = "${a.slideShow.images[0]}";

これは、あなたが提案したとおりに舞台裏で行われます: a.getSlideShow().getImages().get(0).

とはいえ、通常は次のように JS 配列を宣言します。

var arr = [];

このnewキーワードは、JS では推奨されないと見なされます。

于 2010-02-12T18:54:01.483 に答える
1

あなたの質問にコメントした人が示唆するように、これはよくある誤解です。JavaScript が (ブラウザーで) 実行されるまでには、Java と JSP と JSTL は使用できなくなります。JSTL/JSP はサーバーで実行され、クライアントに送信されるソース/HTML を作成します。

あなたのページのソースを表示してください - それはいくらかの光を当てるかもしれません. 上記で含めた JSP/JSTL は表示されません。

于 2010-02-12T18:48:50.147 に答える