我尝试将一个简单的字符串变量传递给我的页面index.jsp,但没有成功:
@SuppressWarnings("serial")
public class HexoSkin_GAEServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
String dateStr = "2014.07.07.19:40";
request.setAttribute("dateStr", dateStr);
// I try
this.getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);
// Or
request.getRequestDispatcher("index.jsp").forward(request,response);
}
}
我的index.jsp位于文件夹" war。"我的项目是一个Web应用程序项目(appengine) 在我的page.jsp中:
<%
String attribut = (String) request.getAttribute("dateStr");
// Return always null
out.println("VALUE :" +attribut);
%>
我也试过Session:
request.getSession().setAttribute("dateStr",dateStr);
String attribut2 = (String) session.getAttribute("dateStr") ;
这是我的web.xml,以防它有用:
<servlet>
<servlet-name>HexoSkin_GAE</servlet-name>
<servlet-class>myapp.HexoSkin_GAEServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HexoSkin_GAE</servlet-name>
<url-pattern>/hexoskin_gae</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
我是否错过了一些配置部分? 感谢
答案 0 :(得分:1)
您正试图在page.jsp中显示值,但实际上您正在将请求重定向到index.jsp。
答案 1 :(得分:0)
你没写,问题是什么(没有价值或例外)。尝试使用:
request.getRequestDispatcher("index.jsp").forward(request, response);
或
getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);
因为来自ServletContext的方法只允许以/
开头的路径请参阅documentation。