基于spring mvc中jsp代码的条件调用innerHTML

时间:2015-03-24 13:54:46

标签: javascript html jsp spring-mvc innerhtml

我试图找到一种方法让document.getElementById(“1”)。innerHTML基于来自jsp代码的条件被触发。

例如,我在jsp页面上有以下jsp代码,

<table border="1">
<c:forEach items="${elements}" var="element">
    <tr>
        <td>${element.elementNumber}<br /> ${element.isReserved}
        </td>
    </tr>
</c:forEach>
</table>

基于“element.isReserved”,我需要在html中更改一个元素(假设使用.innerHTML)。 html中的元素如下所示。我有几个这样的元素。

            <div class="col-xs-2">
                <div class="o-btn">
                    <a id="1" onClick="myFunction(this);">1</a>
                </div>
                <div class="clearfix"></div>
            </div>

如上所示,它显示为值为“1”的按钮。我想根据条件将值更改为“X”。我可以直接用js,

来做
<script>
        function myFunction(elmnt) {}
        function isReserved() {
            return 'X';
        }
        document.getElementById("1").innerHTML = isReserved();
</script>

但我需要使它依赖于spring的输出或上面显示的jsp代码。我想要的输出是当element.isReserved()(在jsp代码中)评估为true时,按钮上显示的“1”将变为“X”。由于我有几个按钮元素,如果element.isReserved()的计算结果为true,我需要检查每个按钮。

1 个答案:

答案 0 :(得分:1)

我能够让它发挥作用。我发现这个article非常有帮助。

在理解(并接受现实)JSP如何使用html之后,我不得不稍微重构我的程序。

从spring mvc,我将我的变量添加到模型中,

model.addAttribute("element1", 1);

在jsp页面上,我用javascript,

检查了变量
if("${element1}" == 1) {
    document.getElementById("1").innerHTML = 'X';
    document.getElementById("1").style.color = 'red';
}

可能有更好的解决方案,但对于像我这样的新手来说,效果很好!

上面提到的article对于新来者来说确实是一个很好的重要的读物。