Struts:getElementByID来自请求范围(Javascript)
Struts: getElementByID from the request scope (Javascript)
我正在Struts中编程一个应用程序,我需要在jquery日历中突出显示一些提醒。我有以下问题:
在我的actionwatchCalendar.java(它转发给我正在处理的名为sideCalendar.jsp的jsp)中,我在请求范围上设置了一个属性,即:
request.setAttribute("reminders",queryResults);
我想从java脚本访问请求范围中的此属性(这是我的问题)。实际上,我想访问这个提醒数组,并获得每个提醒的startDate和endDate,这样我就可以在日历上突出显示它们之间的范围。这样,用户将知道他在日历上有多少天来完成提醒中的请求。
我尝试使用:
var arrayOfReminders = document.getElementById("reminders");
这样我就可以将请求范围中的提醒数组复制到视图组件的javascript区域。
然后我用把它打印在屏幕上
document.write(reminders);
然而,它只在视图上打印"null"。
我在互联网上搜索了很多,除了使用getElementById()函数之外,没有找到任何其他信息。
我会继续调查,但我真的非常感谢一些指导。
非常感谢您的阅读!!
p.D:我可以从数据库中获得一系列提醒,我把它设置在动作上没有问题。我认为我的主要问题是如何从视图中的javascript访问这个属性。
您在Struts中设置的请求范围仅限于服务器端,因此Javascript无法获得它。例如:
<script>
var reminders = []; //create a new array global
<c:forEach items="${reminders}" var="reminder">
reminders.push({start: "${reminder.startDate}", end: "${reminder.endDate}"});
</c:forEach>
</script>
现在,您可以从Javascript访问页面中任何位置的reminders
变量。例如:
reminders[21].end; // July 7, 2020
更好的方法是首先将服务器(Struts)端的请求属性设置为JSON格式:
request.setAttribute("reminders", convertToJSON(queryResults));
然后,将其呈现到JSP中,并将其直接分配给一个变量:
var reminders = ${reminders};
相关文章:
- 正在全局范围中查找JavaScript函数
- Javascript:'受保护'范围界定
- Javascript innerHTML超出范围的问题
- 可以't访问JavaScript函数范围中的变量
- 用javascript映射和匹配范围
- firefox中的Javascript事件范围问题
- 如何在JavaScript中获取文本区域的选定文本范围
- 从GWT中的HighCharts库(以及一般的Javascript)自定义Stockchart范围选择器按钮
- 获取给定JavaScript范围内的解析函数
- 使用javascript中的var关键字创建块范围的变量
- 为什么在javascript中的模块模式中实现Lazy函数时范围会发生变化
- 用Javascript编辑范围数据(时间序列)
- 为什么此变量超出范围?JavaScript
- 范围 JavaScript 中变量和对象之间的差异
- Struts:getElementByID来自请求范围(Javascript)
- 查找数组/范围javascript中所有丢失的元素
- 定义数组的隔离范围javascript
- 同时更改两个范围- javascript
- 如何获取一周中存在于某个日期范围(Javascript)中的天数列表
- 随机大整数在范围JavaScript