1

我已经挠头好几个小时了。我正在扩展一个网络应用程序,我遇到了这个问题:

我有一个名为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 页面中的标题,但我不确定这实际上是否可行。

4

2 回答 2

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");
于 2013-11-12T16:35:39.960 回答
0

我同意上一篇文章,您可以将信息存储在请求、会话或应用程序范围内。

我想将答案扩展如下:从您关于“我尝试读取标题并将其再次写入 JSP 页面中的标题”的陈述中,您似乎对 JSP 的掌握不够。我建议你去 amazon.com 找一本评价不错的 JSP 书。然后,从头到尾阅读。它将为您节省无数小时的技术试验时间,却一无所获。

于 2013-11-12T17:10:22.943 回答