0

我有一个关于如何允许我的 jsp 页面向服务器发出发布命令的问题,并且仍然让浏览器停止发布页面的重定向。

以下是代码片段:

发帖的代码(这是在一个jsp文件中):

HttpClient client = new DefaultHttpClient();
client.getParams().setParameter("SUBMITTED", "submitted");
client.getParams().setParameter("xxxxxxxx", purchaser.getemail());
client.getParams().setParameter("xxxxxxxx", purchaser.getsuject());

HttpPost method = new HttpPost(url+"process.jsp");
client.execute(method); 

这是 process.jsp 的一个片段

if (person.getStatus() == person.ACTIVE)
  response.sendRedirect("Account.jsp);
else if (person.getStatus() == person.ERROR)
  response.sendRedirect("Error.jsp);

我希望浏览器能够从 process.jsp 重定向到 fallow/goto。有谁知道可以帮助我的教程,或者我是否以错误的方式解决了这个问题。

4

1 回答 1

1

你确实走错了路。与任何“JSP 中的原始 Java 代码”一样,此逻辑属于真正的 Java 类,而不是 JSP 文件。创建一个执行此操作的 Servlet,然后让它将请求重定向/转发到感兴趣的 JSP 文件。

JSP 是一种视图技术,实际上是响应体的一部分。如果您尝试将响应更改为 JSP 的一半,那么您最终只会得到IllegalStateException: response already committed.

此外,从问题中不清楚整个功能要求。我的印象是两个 JSP 文件都在同一个环境中运行,然后整个 HttpClient 方法是错误的。开始学习更多关于 servlet 的知识。这是一个很好的起点

于 2010-04-10T02:16:05.710 回答