我在 JSP 中设置请求属性。但我没有在它得到的 servlet 中得到那个请求属性null
。
如果我设置request.getSession().setAttribute();
它工作正常但request.setAttribute()
意味着它正在获取null
.
如何在没有会话的 JSP 中设置请求属性?
Request Set Attribute
request.setAttribute("message to be saved",variableName);
RequestDispatcher reqDisp = getServletContext().getRequestDispatcher("servletName");
reqDisp.forward(request, response);
By this you will forward the values to the next servlet
Request Get Attribute Example
<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>
据我了解,您需要将一些值从 jsp 传递给 servlet。我建议你使用 session.setAttribute() 和 session .getAttribute();
在jsp中试试
session.setAttribute("test","test");
在小服务程序中
session.getAttribute("test");
你会得到test
您要做的是在JavaServerPages 标准标记库(JSTL) 中:
http://docs.oracle.com/javaee/5/tutorial/doc/bnakc.html。
您想使用核心库中的c:set元素并将范围设置为request。文档中的示例:
<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" %>
希望这可以帮助!