我曾尝试将字符串从servlet传递给jsp。但它从未转发到jsp。以下是文件
servlet文件:
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);%>
答案 0 :(得分:3)
我在这个主题上有点生疏,但我想我用这种方式转发:
String nextJSP = "/searchResults.jsp";
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(nextJSP);
dispatcher.forward(request,response);
所以从ServletContext而不是从请求获取RequestDispatcher,但我不确定两个调用的幕后是否有任何差异。
编辑:你在哪里设置该属性? (它是在两个方法中的一个doGet / doPost吗?
答案 1 :(得分:0)
使用out.println()
。 jsp中out
为implicit object。
你的代码就是。
<%
String name = (String)request.getAttribute("myname");
out.println(name);
%>
答案 2 :(得分:0)
您是否将jsp文件放在WEB-INF文件夹或其中的某个位置?如果是,那么你应该改为 request.getRequestDispatcher(&#34; /WEB-INF/GetCategory.jsp")。forward(request,response);