0

Java EE と HTML5 のフロント エンド側は初めてです。data 属性を使用して DOM を読み取ることができると読みました。Javaによってすでに設定されているセッション属性を取得するためにこれをどのように適切に使用しますか. 非表示の入力を使用するなど、他の方法と比較して。

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

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

1 に答える 1

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")

要素にセッション値を保存することが正しいかどうかはわかりませんが。それは間違いなく間違っていません。私はあなたが何を必要とするか、セッションでそれを使用するのか疑問に思っています。セッションは 1 回表示されます。

属性は、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値を取得する場合は、関連するすべてのもの (列) を含む 1 つの場所に格納されます。これは通常、data-*属性を使用する方法/場所です。もちろん、これには多くのアイデア/用途があります。

于 2013-04-06T01:46:46.627 に答える