Можно ли в jstl использовать переменную javascript?

277
08 октября 2017, 22:38

Здравствуйте! Я совсем новичок в java ee, проблема в следующем: в сервлете я передаю атрибут objects, который является коллекцией. Мне нужно сделать меню, чтобы при клике по кнопке подгружалась информация по объекту. В данном примере при выполнении всегда выводится элемент с индексом 0.

Можно ли использовать переменную из JS в jstl? Или может быть посоветуете другой способ, как это лучше реализовать?

<script type = "text/javascript"> 
  function loadInfo(button) { 
    var index = button.value; 
    $('.info').remove(); 
    $('.main').append('<div class="info"></div>'); 
    $('.info').append('<c:out value="${objects.get(index).address}" />'); 
  } 
</script>
<div class="menu"> 
  <c:forEach var="object" items="${objects}" varStatus="сounter"> 
    <button type="button" class="btn btn-default" value="${сounter.index}" id="objSelect" onclick="loadInfo(this)">${object.name}</button> 
  </c:forEach> 
</div> 
<div class="main"> 
    <div class="info"></div> 
</div>

Answer 1

Инструкции JSTL выполняются на сервере, инструкции JavaScript на клиенте. Соответственно конструкция

$('.info').append('<c:out value="${objects.get(index).address}" />');

бессмысленна. Можно сделать так:

some_page.jsp

<div class="menu">
  <c:forEach var="object" items="${objects}" varStatus="сounter">
    <button type="button" class="btn btn-default" id="objSelect${сounter.index}" data-addr="${object.address}">${object.name}</button>
  </c:forEach>
</div>
<div class="main">
    <div class="info"></div>
</div>

some_script.js

$('.menu button').click(function(event) {
    $('.info').html($(this).data('addr'));
});
READ ALSO
Eclipse Android.. emulator

Eclipse Android.. emulator

NAND: could not create temp file for system NAND disk image: File exists

285
MongoDB получить имена всех полей

MongoDB получить имена всех полей

есть набор сущностей

247
Закрытие и открытие базы SQlite

Закрытие и открытие базы SQlite

ЗдравствуйтеЕсть приложение, 5 активити, каждая работает с БД

260
Удаление из коллекций Java

Удаление из коллекций Java

Пишу код, попал в тупикЕсть код, перебирающий и сравнивающий значения 2 List'ов заполненных объектами класса Action

185