Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
试图访问javascript中的EL变量_Javascript_Jsp_El - Fatal编程技术网

试图访问javascript中的EL变量

试图访问javascript中的EL变量,javascript,jsp,el,Javascript,Jsp,El,我有一个JSP,其中我将JSTL变量定义为: <c:set var="productName"> <fmt:message key="product.name" /> </c:set> 现在,我想在javascript中访问这个变量,我尝试了以下方法 var prodName = '<c:out value="${productName}"/>' alert(prodName) var prodName='' 警报(prodName

我有一个JSP,其中我将JSTL变量定义为:

<c:set var="productName">
    <fmt:message key="product.name" />
</c:set>

现在,我想在javascript中访问这个变量,我尝试了以下方法

var prodName = '<c:out value="${productName}"/>'
alert(prodName)
var prodName=''
警报(prodName)
但这不会打印变量的值,而是打印:

<c:out value="${productName}"/>

我错过了什么


我还在JSP中使用了
${pageContext.request.contextPath}
。现在,我将代码移动到Javascript。如何在Javascript代码中检索
${pageContext.request.contextPath}
的值?请注意,我不能在HTML中使用onlick或inline javascript将此值从JSTL传递到javascript,因为我使用的内容安全策略不允许这样做。请提出一些建议。

我过去在传递变量时使用的一个技巧是将变量的值放在JavaScript获取的数据属性中。例如:

<div class="demo" data-prodname="${ productName }"></div>

<script type="text/javascript">
    alert($('.demo').data('prodname'));
</script>

警报($('.demo').data('prodname'));

但是,如果试图输出到属性中的变量包含引号(类似于JSON字符串),则这可能是敏感的。它们需要转义或HTML编码。

停止使用
”而只打印:“它打印什么?我修复了stackoverflow之前截断代码的问题您是说javascript中的“${productName}”?这对我不起作用。它只打印字符串${productName}。问题在于,出于某种原因,它没有计算表达式的值。