Como posso acessar os elementos da lista Java do meu código JavaScript do lado do cliente?

StackOverflow https://stackoverflow.com/questions/2254255

  •  20-09-2019
  •  | 
  •  

Pergunta

Eu tenho o seguinte script simples, que estou usando para criar dinamicamente os elementos da lista em um <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> 

Meu problema decorre do atributo imagens. Cada artigo possui uma apresentação de slides e cada apresentação de slides tem uma lista de imagens. Quero retirar a primeira imagem da lista de imagens através da lista Jave.get (índice); Eu quero fazer algo como "$ {a.slideshow.images.get (0)}";. O get () é um método Java do objeto List.

Alguma ideia?

Foi útil?

Solução

Em El, você pode usar a notação de cinta para acessar um List elemento por índice. Assim, o seguinte deve fazer:

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

Isso fará com que os bastidores façam exatamente como você propôs: a.getSlideShow().getImages().get(0).

Dito isto, você normalmente declara matrizes JS como segue:

var arr = [];

o new A palavra -chave é considerada desencorajada em JS.

Outras dicas

Como os que comentaram sua pergunta sugerem, esse é um mal -entendido comum. Quando o seu JavaScript é executado (no navegador), Java e JSP e JSTL não estão mais disponíveis. O executivo JSTL/JSP no servidor para criar origem/html que é enviado ao cliente.

Veja a fonte da sua página - ela pode lançar alguma luz. Você não deve ver o JSP/JSTL que você inclui acima.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top