我是Java EE和HTML5的前端新手。我已经读过你可以使用data属性来读取DOM。您如何正确使用它来获取已由java设置的会话属性。与其他方法相比,例如使用隐藏输入。
<input id="sid" type="hidden" name="series" value="${sessionScope.series} />
var sid = document.getElementById("sid"), series;
答案 0 :(得分:1)
使用类似的东西:
<div id="div1" data-special-value="${sessionScope.series}"></div>
获取属性值,如:
document.getElementById("div1").getAttribute("data-special-value")
甚至(http://caniuse.com/dataset):
document.getElementById("div1").dataset("special-value")
或者使用jQuery:
$("#div1").attr("data-special-value")
// or
$("#div1").data("special-value")
虽然我不确定在元素上存储会话值是对的。这绝对没有错,我只是想知道你需要什么/用它来进行会话。会话出现一次。
data-*
属性在将相关数据存储到某些内容时更有用。例如,如果循环遍历一堆数据库记录并打印其列,但又想要将行的数据库id
存储一次,则可以使用:
<c:forEach items="${rows}" var="row">
<tr data-row-id="${row.id}">
<td>${row.name}</td>
<td>${row.description}</td>
</tr>
</c:forEach>
然后,如果您想获得原始row.id
值,它将存储在一个地方,包含与其相关的所有内容(列)。这通常是我使用data-*
属性的方式/位置。当然,有很多想法/用途。