0

我是外部 javascript 文件 (*.js) 的新手。基本上我已经准备好我的 JSP,但我的经理希望我在其中添加图形。

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

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

例如:-

演示.jsp

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

现在我想使用/传递/设置高于main.js文件的值怎么做?

4

3 回答 3

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 框架;-))

于 2013-06-22T22:22:05.193 回答
1

如果您使用的是.js文件,则不能在其中编写 jsp sriptlet。如果您需要调用 value in.js文件有一种简单的方法。
为 .jsp 页面中的输入元素分配值。(如果您不使用 .jsp 页面中的值,则为隐藏的输入元素分配值)
然后在 .jsp 页面中的 include.js 文件以
javasript 或 jquery 方法获取值。

前任:-

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

或者如果你使用jquery,你可以得到

value = $("#element_id").val();
于 2013-06-23T06:39:16.897 回答
0

你可以声明一个全局 js 变量并赋值。

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



    var global1 ='<%= myValue  %>';
于 2013-06-22T22:12:04.057 回答