我在JSP中设置请求属性。但是我没有在servlet中得到null
的请求属性。
如果我设置为request.getSession().setAttribute();
它工作正常但request.setAttribute()
表示它正在null
。
如何在没有会话的情况下在JSP中设置请求属性?
答案 0 :(得分:1)
请求设置属性
request.setAttribute("message to be saved",variableName);
RequestDispatcher reqDisp = getServletContext().getRequestDispatcher("servletName");
reqDisp.forward(request, response);
通过这个,您将值转发到下一个servlet
请求获取属性示例
<html>
<body>
<%
String message = (String) request.getAttribute("message");
out.println("Servlet communicated message to JSP: "+ message);
Vector vecObj = (Vector) request.getAttribute("vecBean");
out.println("Servlet to JSP communication of an object: "+vecObj.get(0));
%>
</body>
</html>
答案 1 :(得分:1)
据我所知,您需要将一些值从jsp传递给servlet。 我建议你使用session.setAttribute()和session .getAttribute();
在jsp中尝试
session.setAttribute("test","test");
在servlet中
session.getAttribute("test");
您将获得test
答案 2 :(得分:0)
您要做的是在 JavaServerPages标准标记库(JSTL)中:
http://docs.oracle.com/javaee/5/tutorial/doc/bnakc.html
您希望使用核心库中的 c:set 元素,并将范围设置为请求。来自文档的示例:
<c:set var="foo" scope="request" value="..."/>
或来自标签正文:
<c:set var="foo">
...
</c:set>
不要忘记在JSP的顶部声明标记库:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
希望这有帮助!