2012-10-23 52 views
1

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

jQuery(document).ready(function() { 

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

请得到你的条款正确。 '$ {foo}'不是“JSTL标签”。这是一个“EL表达”。我相应地编辑了这个问题。与此同时,请仔细阅读http://stackoverflow.com/tags/jstl/info以了解JSTL的真实含义。 – BalusC

回答

3

首先,你要明白,JSP(和JSTL和EL )基本上产生 HTML(和CSS和JS)代码。它不会与JavaScript代码同步运行。如果你在web浏览器中右键单击JSP页面并执行查看源代码,那么你会看到它。

我认为你的具体问题是由于${tagTwo}返回一个普通的香草串而被JS解释为一个变量名,因为它没有被括在引号中。

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

console.log('${tagTwo}'); 
+0

通过这样做,我只是得到它打印,我想获得该标签的价值。 –

+0

显然,JS代码的一部分没有被包含在一个'.jsp'文件中,而是一个普通的'.js'文件,它被'''导入。这是真的? EL表达式显然只能在JSP文件内工作,因为已经由'JspServlet'解析了。例如。 ''。 – BalusC

+0

那就是我试图找出那是有可能的。 –

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>