【发布时间】:2019-09-29 22:44:48
【问题描述】:
大家好,我目前正在编写一个 Web 应用程序,但在使用 jstl 变量设置会话属性时遇到了问题。
在我的应用程序中,我使用 jstl foreach 标记显示对象“海报”列表。因此在 UI 上我有这些列表,我可以拖放海报表的线条,以便查看我选择的海报的详细版本。在这里,我需要获取一个变量“posterId”以将其传递给 servlet(使用会话或使用另一种方法)这是我的代码:
<c:forEach var="poster" items="${listePosters}" varStatus="loop">
<tr data-sujets='${listeSujets[loop.index].titre}'
data-etat= '${listeValide[loop.index]}'
id="draggable-${loop.index}" draggable='true'
ondragstart="drag(event,${loop.index});"
onmouseout="fmouseup(${loop.index});"
ondragend="enddrag(event,${loop.index});"
onmousedown="fmousedown(${loop.index});"
onmouseup="fmouseup(${loop.index});"
onClick= "<c:set var="idPoster" value="${poster.idPoster}"
scope="session"/>;">
</tr>
</c:forEach>
所以这里我有 2 张海报,理论上当我点击与海报 1 一致时,会话属性应设置为 1,当我点击与海报 2 一致时,会话属性应设置为 2 我知道我的 ${poster.idPoster} 获取正确的值,因为我做了 window.alert() 而不是 c:set... 行并且我得到了正确的值,这就是为什么我不明白为什么会话设置不正确
提前感谢您的帮助
【问题讨论】: