在我的 JSP 项目中,我有一个包含以下脚本的 .jsp 文件:
<script type="text/javascript">
$(window).load(function() {
...
options.items = items;
...
});
</script>
变量 items 包含在另一个 JavaScript 脚本中,该脚本也包含在同一个 .jsp 文件中:
<script type="text/javascript" src="<c:url value="/js/items.js"/>"></script>
items.js 具有以下结构:
var items = [{...}, {...}, {...}];
现在,为这个 .jsp 实现 doGet 的 Servlet 从数据库中收集一些数据(这些数据每次都可能不同)并使用它在磁盘中写入文件 items.js如上所述。
问题是服务器 (tomcat7) 在重新启动之前看不到 items.js 发生了变化,但我每次都需要生成该文件,因为要收集的数据并不总是相同的。所以我想知道如何正确地提供我在 items 上提到的第一个 JavaScript 函数,而不必重新启动服务器。当然,我想尽可能避免使用 scriptlet。
请注意,我不能只删除此消息开头包含的那段 JavaScript,因为那段代码正在使用我需要用来可视化我的数据的 JavaScript 库。
预先感谢您的帮助。
最佳答案
对您自己的解决方案进行一些修改,如果您想避免使用 scriptlet,您可以像这样编写上面的行:
代替
options.items = <%= request.getAttribute("items") %>;
写
options.items = ${requestScope.items}; or options.items = ${items};
关于javascript - "Refresh"JavaScript 文件发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23726426/