繁体   English   中英

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

[英]How can I access Java list elements from my client-side JavaScript code?

我有以下简单的脚本,用于在<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属性。 每篇文章都有一张幻灯片,每张幻灯片都有一张图像列表。 我想通过jave list.get(index);从图像列表中拉出第一张图像。 我想做类似“ $ {a.slideShow.images.get(0)}”的事情 get()是列表对象中的java方法。

有任何想法吗?

在EL中,您可以使用大括号符号按索引访问List元素。 因此,应执行以下操作:

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

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

就是说,通常您可以像下面这样声明JS数组:

var arr = [];

JS不建议使用new关键字。

正如对您的问题发表评论的人所暗示的那样,这是一种常见的误解。 到您的JavaScript执行时(在浏览器中),Java和JSP和JSTL不再可用。 JSTL / JSP在服务器上执行以创建源/ HTML,然后将其发送到客户端。

在页面上查看源代码-可能会有所启发。 您不应看到上面包含的JSP / JSTL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM