【问题标题】:How To Load Servlet Result Page in Div?如何在 Div 中加载 Servlet 结果页面?
【发布时间】:2013-07-22 09:46:36
【问题描述】:

我有以下情况:

我的 Web 应用程序中有一个左侧菜单,当用户单击该菜单的任何链接时,该特定页面将在特定 div 中打开。这个特定的 div 用作内容页面。

比如有修改密码的链接,点击后会显示在那个内容的div上。

每个页面都是用 .jsp 格式完成的,因此每个页面也有错误和成功页面。例如,如果我有 changePassword.jsp,我也会有 changePasswordError.jsp 和 changePasswordSuccess.jsp,它们用于显示错误和成功消息。

我正在使用 Servlets 来获取信息并对其进行处理并重定向到正确的页面。因此,例如,如果用户想要更改他/她的密码并且一切正常,他们将被引导到 servlet 的 changePasswordSuccess.jsp,如果他们收到错误,他们将被引导到 changePasswordError.jsp。

当我这样做时,它们将作为自己的页面打开,所以我必须为用户提供返回主页的链接非常愚蠢。即使他们收到错误消息,该错误页面也会作为自己的页面打开,这一点非常明显。

我的问题是如何将用户从 Servlet 引导到主页,以便 Servlet 的结果页面将显示在该内容 div 中?这意味着如果用户被引导到成功页面,该成功页面将显示在主页的内容 div 上。

如果可能的话,我宁愿不使用 .php 重定向样式,它包括 header 标签,并且在它里面有重定向 url。

【问题讨论】:

  • 您能否以对程序员更友好的方式澄清您的问题。你想要 AJAX 导航吗?还是您想使用组合并发出同步请求?对于前者,只需返回该 div 的内容,对于后者,只需正确组合您的 jsp 文件。
  • 您是否使用 response.sendRedirect() 重定向到成功/失败页面,如果是,请尝试使用 request.forward() 而不是重定向
  • @Skuntsel 我认为让这个问题更清楚的唯一方法是,如果我添加一些导航模式,因为我真的无法更好地解释它。对于死人,我使用 request.forward(request, response) 方法。

标签: java jsp servlets web-applications html


【解决方案1】:

在您的情况下,您必须使用 ajax 将内容加载到 div 例如

函数 getSummary(id) { $.ajax({ 类型:"GET", url: '你的网址', data: "id=" + id, // 显示为 $_GET['id'] @你的后端 成功:函数(数据){$('#summary').html(数据); } }); }

【讨论】:

  • 我需要将结果页面从 Servlet 引导到它来自的同一页面。我可以试试这个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多