Servlet未将参数发送到.jsp文件
Servlet not sending parameter to .jsp file
所以,我有一个Servlet,它应该向.jsp文件发送一个参数:
request.setAttribute("parameter1", new BigDecimal(50));
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/WEB/pages/page1.jsp");
requestDispatcher.forward(request, response);
然而,当我试图在jsp中使用一些javascript代码来提醒这个参数时,我会得到一条空消息。此外,如果我使用JSP表达式将属性打印到带有Java的控制台,则会得到null。。所以,我认为我没有正确地在这个servlet中发送参数,有人能帮我吗?
有两种方法可以实现这一点。
使用JSP表达式,您将使用<%= %>
作为(注意末尾没有;
)
data : [<%= parameter1 %>, Y, Z]
第二种也是首选的方法是使用JSP-EL语法,并使用${ }
作为直接引用request
属性
data : [${parameter1}, Y, Z]
第一个选项要求您首先将属性从其作用域中拉出。第二个没有。
BigDecimal parameter1 = (BigDecimal) request.getAttribute("parameter1");
解决方案:
我真的看不出有什么不同,只是从开始改变
request.setAttribute("parameter1", new BigDecimal(50));
RequestDispatcher requestDispatcher = request.getRequestDispatcher("/WEB/pages/page1.jsp");
requestDispatcher.forward(request, response);
至:
request.setAttribute("parameter1", new BigDecimal(50));
request.getRequestDispatcher("/WEB/pages/page1.jsp").forward(request, response);
允许alert(${parameter1});
显示我传递的实际值,但是,在用java读取参数时,我仍然为null。此外,一些我不得不显示图表的javascript代码也停止了工作。
因此,我尝试通过会话传递参数:
request.getSession().setAttribute("parameter1", new BigDecimal(50));
request.sendRedirect("/WEB/pages/page1.jsp");
这很好,现在我可以在.jsp文件中使用javascript和java获取参数了。
使用sendRedirect
重定向到一个新请求似乎不会破坏.jsp文件中的javascript代码,然而,我真的不知道为什么这种方法在面对其他方法时有效,所以我为这个糟糕的答案道歉,我从来没有真正使用过servlet和jsp,但我真的很感激有一个比我更确凿的答案,所以我也学到了更多。
相关文章:
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- Servlet未将参数发送到.jsp文件
- 如何将JSP文件中的用户输入调用到Java文件中
- Javascript函数在jsp文件中不起作用
- 我可以't让servlet使用ajax和xml将参数发送到jsp文件
- 如何在jsp文件的span标记上呈现来自JavaScript的html代码
- 在JSP文件中正确使用函数
- 从jsp文件中读取带有javascript的json
- 使用 spring 将 JS 文件添加到 JSP 文件时获得 404
- 从 JSP 文件更新 HTML
- 使用 AJAX 将隐藏变量解析为另一个 jsp 文件
- JStestDriver 可以用于测试 JSP 文件中的 js 代码吗?
- 这里旧 jsp 文件中的块
- 根据用户输入调用 jsp 文件
- 我可以在jsp文件中编写javascript代码吗
- 我如何使用jsp文件中的Javascript从Facebook API获取Getfriends列表
- 在JSP文件中,如何在javascript中调用Scriptlet代码
- SonarQube无法使用JSP文件解析内联JavaScript
- 如何将数据从Vaadin转换为HTML/Jsp文件
- 在我用springmvc实现的jsp文件中,Javascript被忽略了