我可以将JSTL与这样的JavaScript混合使用吗?

时间:2014-03-06 12:52:08

标签: javascript jsp jstl

我可以像这样使用JavaScript和JSTL:

<script type="text/javascript">

function selectDifferentAccount(select, id){

    if (id == "0"){
        var balance = "sourceBalance";
        <c:set var="sourceBalance" value="${select}" scope="session" /> 
    }
    else if (id == "1"){
        var balance = "targetBalance";
        <c:set var="targetBalance" value="${select}" scope="session" /> 
        document.write(${targetBalance});
    }
}
</script>

我希望将select参数发送到JSTL使用的sessionScope变量,但不确定是否可以,因为document.write不打印任何内容。

1 个答案:

答案 0 :(得分:1)

除非变量在范围内,否则不能使用$ {} EL表达式。

生成第一个服务器端代码,然后生成客户端。

所以现在控制来到Javascript方法。 您可以将该值设置为不同的环境。

function selectDifferentAccount(select, id){

 if (id == "0"){
    var balance = ${someVariable}; // fine
    <c:set var="sourceBalance" value="${select}" scope="session" />// but not reverse 
 }