0

モデル属性リストから動的にインデックスにアクセスする方法について質問があります。私のコードには、モデルから値を読み取る JavaScript があります。モデルには、潜在的にリストである属性があります。

document.getElementById("phoneNumberRPhone").value = "${model.people[index].phoneNumber.number}";

ここでは、JavaScript の値を、複数の人を持つことができるモデルから取得した数値に設定しようとしていることがわかります。インデックスは私の動的な値です。model.people[0] または model.people[1] を具体的に指定すると問題なく動作しますが、インデックスに数値を設定してインデックスを動的に使用しようとすると、動作しなくなります。

これについて誰かが提供できる助けがあれば、私は非常に感謝しています。ユーザーのエラーか、構文の不適切な使用の問題であると確信しています。

4

1 に答える 1

2

JSP/EL がその JS コードの一部を出力しなければならない時点で、明らか${index}に JSP/EL スコープにはまったく存在しません。たとえば、あなたがやっているだけでうまくいきます(ただし、このアプローチは非常に疑わしいです):

<c:forEach items="${model.people}" varStatus="loop">
    document.getElementById("phoneNumberRPhone").value = "${model.people[loop.index].phoneNumber.number}";
</c:forEach>

ただし、JSP は単なる HTML コード ジェネレーターであり、JavaScript はその一部であることに注意してください。JSP と JavaScript は同期して実行されません。Web ブラウザーでページを右クリックし、[ソースの表示]を実行して表示します。

于 2012-06-27T17:17:24.933 に答える