2

如何在 JS 文件中为 EL 表达式做 console.log

jQuery(document).ready(function() {

    $('.js-bbCheckbox').click(function(event) {
        var bbck = '${tagOne}';
        console.log (bbck);
        console.log (${tagTwo});
});
4

2 回答 2

5

首先,您需要了解 JSP(以及 JSTL 和 EL)基本上生成HTML(以及 CSS 和 JS)代码。它不与 JavaScript 代码同步运行。如果您在 webbrowser 中右键单击 JSP 页面并执行查看源代码,那么您将看到它。

我认为您的具体问题是由于${tagTwo}返回一个普通的香草字符串而引起的,而该字符串又被 JS 解释为变量名,因为它没有用引号引起来。

您需要让 JSP 打印一个完整的 JS 字符串而不是变量名。

console.log('${tagTwo}');
于 2012-10-23T16:04:25.253 回答
0

@Shoaib Ud-Din,如果您不介意一些内联代码,这应该适用于在 DOM 中加载的任何包含的 .js 文件:

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>

<c:set var="tagOne" value="Hello World" scope="session" />
<script>
    var bbck = "<c:out value="${tagOne}" />";
    console.info("<c:out value="${tagOne}" />");
</script>
于 2017-05-17T22:12:21.297 回答