JSP和外部JavaScript文件之间的交互

时间:2013-06-22 22:09:07

标签: java javascript jsp web-applications web

我是外部javascript文件(* .js)的新手。基本上我准备好了JSP,但我的经理要我添加图形。

所以我找到了一些* .js文件。但我不知道如何在他们和我的JSP页面之间进行通信。

我想将数据从jsp传递到外部.js文件。 有没有机制可以做到这一点?

例如: -

Demo.jsp

out.print(request.getAttribute("Name"));

现在我想使用/ pass / set上面的值来 main.js 文件怎么做?

3 个答案:

答案 0 :(得分:2)

<script type="text/javascript">
    var myJavascriptVariable = <%= request.getParameter("Name")%>;
                                     //or .getAttribute("Name")
</script>

这可以做到这一点,它将创建一个可以在main.js中访问的全局变量。当你有GET参数时,你也可以只使用JS:

var paramarr = window.location.search.substr(1).split("&");
var params = {};

for (var i = 0; i < paramarr.length; i++) {
    var tmparr = paramarr[i].split("=");
    params[tmparr[0]] = tmparr[1];
}

或者更短一些:

var params = {};
// parse URL's GET parameters and iterate over them
window.location.search.substr(1).split("&"),forEach(function(el) {
    var kv = el.split('"'); // split into [ key, value ] array
    params[kv[0]] = kv[1];
});

现在您可以通过以下方式访问JS中的参数:

params['name']

就我个人而言,我会使用AJAX(例如在JQuery的帮助下)为我的JavaScript文件获取数据,你可以在http://api.jquery.com/category/ajax/shorthand-methods/查看(2018编辑:kust使用本机ajax调用或任何JS框架被炒作)本周;-))

答案 1 :(得分:1)

如果您使用 .js 文件,则无法在其中编写jsp sriptlet。 如果您需要在 .js 文件中调用值,则有一种简单的方法。
在.jsp页面中为输入元素指定值。(如果您未在.jsp页面中使用值,则将值分配给隐藏的输入元素
然后在.jsp页面中包含.js文件 获取值为javasript或jquery方法。

前: -

value= document.getElementById("element_id").value

如果您使用 jquery ,则可以获得

value = $("#element_id").val();

答案 2 :(得分:0)

您可以声明全局js变量并指定值。

  <% String myValue =  (String)request.getAttribute("Name"); %> 



    var global1 ='<%= myValue  %>';