javascript - 在 Javascript 中使用 jSTL

标签 javascript jstl

在我的 jsp 页面中我有:

<form:select path="index" id="sIndex" onchange="showDetails()">
    <form:options items="${smth}" itemLabel="name" itemValue="index"/>
</form:select>

在我的 javascript 函数中:

 *function showDetails() {
        var sIndex=document.getElementById("sIndex");
        var index=sIndex[sIndex.selectedIndex].value;
        var name = '${smth[index].name}';
        var address = '${smth[index].address}';
        var message = "<table><tr><td>Name:</td><td>" + name + "</td></tr>";
        message = message + "<tr><td>Address:</td><td>" + address + "</td></tr>"
        message = message + "</table>"
        document.getElementById("candDetails").innerHTML = message;
    }*

而且它不使用 ${} 中的索引,但如果我使用 alert(index) 它会识别它。

最佳答案

Java/JSP/JSTL 在服务器端运行,生成 HTML/CSS/JS 输出并将其发送到客户端。 HTML/CSS/JS 在客户端运行,而不是像您显然预期的那样在服务器端运行。在浏览器中打开页面并执行“查看源代码”。你看到了吗?

Javascript 只能在客户端看到 HTML DOM 树并可以访问它。您需要从 HTML DOM 树中获取名称和地址。您已经在 option 元素中有了名称,但地址无处可用。您可以使用 JSTL 生成一个 Javascript 数组变量,以便 Javascript 代码可以进一步使用它。

要了解有关 Java/JSP 和 Javascript 之间的壁垒的更多信息,您可以找到 this article有用。

关于javascript - 在 Javascript 中使用 jSTL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1664109/

相关文章:

java - 分配属性时超出范围的索引。?

jSTL - 使用 jSTL 根据条件自动检查单选按钮

javascript - 如何通过字符串动态导入icon/jsx元素?

javascript - 调整浏览器大小时使文本适合 div

java - 如何使用 jSTL 在原始值旁边打印随机值?

javascript - 使用 JSLT 为 div 元素添加类

java - 通过 JSTL 在 JSP 页面上显示 ArrayList

php - 如何在网站上画矩形突出显示?

javascript - 监控移动 safari、iOS 6 和 7 上的实时滚动位置

javascript - 使用 javascript 将 CSS 类随机附加到一个列表项