如何从客户端JavaScript代码访问Java列表元素?

Fai*_*yet 2 javascript java jsp el

我有以下简单的脚本,我用它来动态创建一个列表元素 <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> 
Run Code Online (Sandbox Code Playgroud)

我的问题源于images属性.每篇文章都有幻灯片,每个幻灯片都有一个图像列表.我想通过jave list.get(index)从图像列表中取出第一个图像; 我想做一些像"$ {a.slideShow.images.get(0)}"这样的事情..get()是列表对象中的java方法.

有任何想法吗?

Bal*_*usC 6

在EL中,您可以使用括号表示法List按索引访问元素.因此,以下应该做:

arr[${status.index}] = "${a.slideShow.images[0]}";
Run Code Online (Sandbox Code Playgroud)

这将在幕后完全按照您的建议完成:a.getSlideShow().getImages().get(0).

也就是说,您通常会声明JS数组如下:

var arr = [];
Run Code Online (Sandbox Code Playgroud)

newJS中不鼓励使用该关键字.