我是外部 javascript 文件 (*.js) 的新手。基本上我已经准备好我的 JSP,但我的经理希望我在其中添加图形。
所以我找到了一些 *.js 文件。但我不知道如何在它们和我的 JSP 页面之间进行通信。
我想将数据从 jsp 传递到外部 .js 文件。有没有什么机制可以做到这一点?
例如:-
演示.jsp
out.print(request.getAttribute("Name"));
现在我想使用/传递/设置高于main.js文件的值怎么做?
我是外部 javascript 文件 (*.js) 的新手。基本上我已经准备好我的 JSP,但我的经理希望我在其中添加图形。
所以我找到了一些 *.js 文件。但我不知道如何在它们和我的 JSP 页面之间进行通信。
我想将数据从 jsp 传递到外部 .js 文件。有没有什么机制可以做到这一点?
例如:-
演示.jsp
out.print(request.getAttribute("Name"));
现在我想使用/传递/设置高于main.js文件的值怎么做?
<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 框架;-))
如果您使用的是.js文件,则不能在其中编写 jsp sriptlet。如果您需要调用 value in.js文件有一种简单的方法。
为 .jsp 页面中的输入元素分配值。(如果您不使用 .jsp 页面中的值,则为隐藏的输入元素分配值)
然后在 .jsp 页面中的 include.js 文件以
javasript 或 jquery 方法获取值。
前任:-
value= document.getElementById("element_id").value
或者如果你使用jquery,你可以得到
value = $("#element_id").val();
你可以声明一个全局 js 变量并赋值。
<% String myValue = (String)request.getAttribute("Name"); %>
var global1 ='<%= myValue %>';