将变量从服务器传递到客户端

时间:2013-10-28 10:46:31

标签: java javascript jsp java-ee struts2

只应在JSP中使用内联Javascript来设置具有服务器端变量值的变量吗?

例如:Inside JSP这里是内联JavaScript

<script type="text/javascript">
    // Do something inline with variable from server.
    var variableFromServer = 'variableFromServer';
    doSomethingInline(variableFromServer);
    function doSomethingInline(variable) {
        alert('doSomethingInline: ' + variable);
    }

    // Do something onload with variable from server.
    function doSomethingOnload(variable) {
        alert('doSomethingOnload: ' + variable);
    }
</script>

下面, 我不能把这个代码放在.js文件中,并在我的JSP中包含js文件,仍然访问服务器变量??它只适用于内联js吗?

1 个答案:

答案 0 :(得分:1)

您无法从外部js文件中调用服务器端变量,该文件只是从您的jsp页面引用的。原因是jsp代码在服务器端处理,而引用的外部js将由客户端在浏览器中包含和处理。

但是,可以将外部js文件声明为jsp并包含在jsp中,以便在服务器端处理它并在客户端成为内联js。

另一种方法是创建全局js变量,然后使用外部引用的js文件中的这些变量。

查看以下主题,你会找到例子, Passing a servlet variable into javascript