java - JSP 和外部 javascript 文件之间的交互

标签 java javascript jsp web-applications web

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

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

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

例如:-

演示.jsp

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

现在我想使用/传递/设置以上值到 ma​​in.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 框架;-))

关于java - JSP 和外部 javascript 文件之间的交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17255766/

相关文章:

java - 如何让一个类添加到我的绘制函数中?

java - 更改 ListView 的一个元素

java - 基于案例对象的参数

javascript - 在加载可视页面之前加载 CSS 'theme'

javascript - 如何在文本框、选择和日期为空时禁用提交按钮,并在完成后启用

javascript - 检查输入是数字还是字母javascript

java - PDF盒打印: Null Pointer Exception while printing using PDFBox

java - 使用 JSoup 调用 JSP 函数

java - 将对象发送到 JSP 页面

jquery - 使用 jQuery Ajax 从 JSP 页面调用 Servlet