我现在已经好几个小时了。我正在扩展一个网络应用程序,我遇到了这个问题:
我有一个名为 SelectionHandler 的类,它使用 doPost()方法中的案例转发到正确的应用程序:
private void userEditor(HttpServletRequest request, HttpServletResponse response) {
response.setHeader("destination", "edit_user");
HttpRedirectHandler.forwardToURL(request, response, "EditUser");
}
现在这个servlet被重新设计,因此它将决定下一步转发用户的位置:
String header = response.getHeader("destination");
if (header.equals("price_manager")) {
destination = "PriceManager";
} else if (header.equals("new_user")){
destination = "NewUser";
};
然后
HttpRedirectHandler.forwardToURL(request, response, destination);
但在此之前,我一直在将用户重定向到JSP页面。问题是,当我这样做时,我想去的地方的信息就会丢失 有人可以告诉我什么是保留这些信息的最佳方法?我尝试读取标题并将其再次写入JSP页面中的标题,但我不确定这实际上是否可行。
答案 0 :(得分:0)
示例:
在你的servlet中:
request.setAttribute("HelloKey","Hello World!");
在你的jsp中:
String myHelloString = (String)request.getAttribute("HelloKey");
或者你把它放在会话中:
request.getSession(true).setAttribute("HelloKey","Hello World!");
并在jsp中:
String myHelloString = (String)request.getSession().getAttribute("HelloKey");
答案 1 :(得分:0)
我同意上一篇文章,您可以将信息存储在请求,会话或应用程序范围内。
我想扩展答案如下: 从您关于“我尝试读取标题并再次将其写入JSP页面中的标题”的声明中,您可能对JSP没有足够的掌握。我建议你去amazon.com寻找一本评论很好的JSP书。然后,阅读封面以覆盖。它将为您节省无数个小时的技术实验,而不是无处可去。