javascript - JSTL 和 Javascript

标签 javascript jsp jstl

在 jSTL 标签内有标签被认为是错误的形式吗?因此,例如,我知道以下内容会起作用,但是在我的 jsp 的 jSTL 标签中包含脚本标签是否被认为是错误的形式?

<c:choose>
  <c:when test="${!empty bean.value}">
    <p>Its not empty</p>
  </c:when>
  <c:otherwise>
    **<script>
        callJSSomeFunction();
    </script>**
  </c:otherwise>
</c:choose>

最佳答案

我不知道不良形式(有点苛刻),但您可能会认为,对于在没有启用 JS 的情况下查看您的页面的人来说,您的 <c:otherwise>将有效地输出任何内容,这不是很优雅。

此外,如果页面是递增呈现的,您的函数调用可能会在输出时执行,并且在 DOM 被浏览器完全加载之前执行,因此行为不可预测(或者根本不工作 - 我有过这个发生)。

我会考虑将所有函数调用放在头部,并使用许多可用技巧之一来检测 DOM 何时加载 (jQuery's $(document).ready() for example) 以强制执行更整洁的分离,让您的生活变得更加轻松。

关于javascript - JSTL 和 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1100931/

相关文章:

javascript - Mobile Safari 10 IndexedDB Blob

javascript - 如何在 promise 中执行回调?

jsp - 不能在jsp中使用jSTL

java - 在 jsp 上列出 vector 数据

javascript - 在对象数组中搜索匹配的键/值对的快速方法

javascript - 创建ajax分页

java - 为什么 "return ERROR"仅适用于异常?

通过 Java Servlet 转发后,表单重置的 Javascript 不起作用

java - js 中的脚本

java - JSTL - 是否存在 put-list-attribute 的删除属性?