Перезапись переменных в JSP / JSTL - PullRequest
2 голосов
/ 19 января 2010

У меня есть следующий код:

<c:forEach items="${mergeList}" var="sublist" varStatus="index">
                <c:forEach items="${sublist}" var="item" varStatus="row">

Так что я намерен отобразить каждый «элемент» в списке. Когда пользователь нажимает на строку, откройте плавающее окно с полным описанием элемента. Я установил переменные в области запроса, чтобы получить их в другой форме,

<c:set var="merge0" value="${sublist[0]}" scope="request" />
<c:set var="merge1" value="${sublist[1]}" scope="request" />
<c:set var="merge2" value="${sublist[2]}" scope="request" />

Но проблема возникает, когда я устанавливаю переменные в каждой итерации, поэтому при открытии плавающего элемента всегда появляются последние элементы списка, конечно, каждый раз перезаписывается. Я знаю, в чем проблема, но не знаю, как ее решить.

Есть предложения?

1 Ответ

1 голос
/ 19 января 2010

Если «плавающее окно» касается совершенно нового HTTP-запроса, то вам действительно нужно передать их или его идентификатор в качестве параметров запроса. Э.Г.

window.open('popup.jsp?itemid=${item.id}');

Таким образом popup.jsp может получить к ним доступ ${param.itemid}. Или, если между прослушиванием doGet() есть сервлет, вы, конечно, можете получить к нему доступ HttpServletRequest#getParameter().

Если «плавающее окно» является своего рода изначально скрытым фиксированным div, который вы показываете с помощью JavaScript, то просто запишите значения, как если бы это были переменные JS, чтобы вы могли обращаться к ним в контексте JS. Э.Г.

<script>
    var itemid = ${item.id};
</script>

Или напишите их в виде открытого текста или скрытого элемента (ов) формы в фиксированном элементе div.

<input type="hidden" name="itemid" value="${item.id}">

Какой наилучший способ зависит от фактических функциональных требований, которые не были четко определены в вашей теме.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...