3

我曾尝试将字符串从 servlet 传递给 jsp 。但它从未转发给 jsp 。以下是文件

小服务程序文件:

String login = "asd";
request.setAttribute("myname",login);
request.getRequestDispatcher("GetCategory.jsp").forward(request, response); 

jsp文件:

<% String name = (String)request.getAttribute("myname");
System.out.println(name);%>
4

3 回答 3

3

我对那个话题有点生疏,但我想我是这样使用转发的:

String nextJSP = "/searchResults.jsp";
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(nextJSP);
dispatcher.forward(request,response);

因此,从 ServletContext 而不是从请求中获取 RequestDispatcher,但我不确定这两个调用的幕后是否有任何区别。

编辑:您在哪里设置该属性?(是否在 doGet/doPost 两种方法之一中?

于 2013-11-04T10:43:54.057 回答
0

使用out.println(). out是jsp中的隐式对象

你的代码是。

<% 
   String name = (String)request.getAttribute("myname");
   out.println(name);
%>
于 2013-11-04T10:42:05.440 回答
0

您是否将 jsp 文件放在 WEB-INF 文件夹中或其中的某个位置?如果是这样,那么您应该将其更改为 request.getRequestDispatcher("/WEB-INF/GetCategory.jsp").forward(request, response);

于 2016-12-08T05:01:04.910 回答