簡體   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