我是外部javascript文件(* .js)的新手。基本上我准备好了JSP,但我的经理要我添加图形。
所以我找到了一些* .js文件。但我不知道如何在他们和我的JSP页面之间进行通信。
我想将数据从jsp传递到外部.js文件。 有没有机制可以做到这一点?
例如: -
Demo.jsp
out.print(request.getAttribute("Name"));
现在我想使用/ pass / set上面的值来 main.js 文件怎么做?
答案 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 %>';