如何使用HTML5数据属性获取会话属性

时间:2013-04-06 01:42:41

标签: java javascript html html5 dom

我是Java EE和HTML5的前端新手。我已经读过你可以使用data属性来读取DOM。您如何正确使用它来获取已由java设置的会话属性。与其他方法相比,例如使用隐藏输入。

<input id="sid" type="hidden" name="series" value="${sessionScope.series} />

var sid = document.getElementById("sid"), series;

1 个答案:

答案 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-*属性的方式/位置。当然,有很多想法/用途。