1

我在 JSP 中设置请求属性。但我没有在它得到的 servlet 中得到那个请求属性null

如果我设置request.getSession().setAttribute();它工作正常但request.setAttribute()意味着它正在获取null.

如何在没有会话的 JSP 中设置请求属性?

4

3 回答 3

1

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>
于 2013-09-18T07:13:28.687 回答
1

据我了解,您需要将一些值从 jsp 传递给 servlet。我建议你使用 session.setAttribute() 和 session .getAttribute();

在jsp中试试

session.setAttribute("test","test");

在小服务程序中

session.getAttribute("test");

你会得到test

于 2013-09-18T07:24:27.587 回答
0

您要做的是在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" %>

希望这可以帮助!

于 2017-03-17T15:46:37.327 回答