我是 Java EE 和 HTML5 前端的新手。我读过您可以使用 data 属性来读取 DOM。您将如何正确使用它来获取已由 java.xml 设置的会话属性。与使用隐藏输入等其他方法相比。
<input id="sid" type="hidden" name="series" value="${sessionScope.series} />
var sid = document.getElementById("sid"), series;
我是 Java EE 和 HTML5 前端的新手。我读过您可以使用 data 属性来读取 DOM。您将如何正确使用它来获取已由 java.xml 设置的会话属性。与使用隐藏输入等其他方法相比。
<input id="sid" type="hidden" name="series" value="${sessionScope.series} />
var sid = document.getElementById("sid"), series;
使用这样的东西:
<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-*
属性的方式/位置。当然,这有很多想法/用途。