【问题标题】:Forward page from Servlet inside a HTML div从 HTML div 中的 Servlet 转发页面
【发布时间】:2014-05-15 19:13:31
【问题描述】:

我正在努力提高我的页面效率,所以我得到了如下问题:

是否可以将带有 RequestDispatcher 的新 Jsp 页面从 Servlet 转发到 HTML div 中?

像这样:

someServlet.java

public void doGet(HttpServletRequest req, HttpServletResponse resp)
        throws IOException, ServletException {

     // do something to send a page to the HTML div in page.jsp  
}

page.jsp

<div> <!-- the forwarded page must inside here --> </div>

【问题讨论】:

标签: java jquery html jsp servlets


【解决方案1】:

这是不可能的。相反,您可以对您的 servlet 进行 ajax 调用,并且 servlet 可能会以有助于视图工作的格式返回必要的数据。一个示例是使用 JSON 格式编写响应,然后在 JavaScript 中处理此 JSON 响应,以在您的视图中相应地添加必要的数据。

您还可以返回一个“text/html”响应,在其中写入&lt;div&gt; 的内容以及直接在视图中写入 HTML 响应所需的内容。此方法中使用的响应更易于在您的视图 (JSP) 中使用,但请注意,这会将您的 Servlet 请求仅与 HTML 响应耦合。

决定权在你。

更多信息:

【讨论】:

  • +1。不过 JSON 不是必需的。您可以返回文本、xml、html。任何由文字组成的东西。
【解决方案2】:

以这种方式使用include 而不是page.jsp 中的forward

<div> <!-- insert any one --> </div>

试一试

<jsp:include page="includedPage" />

<jsp:directive.include file="relative url" />

<%@ include file="relative url" >

request.getRequestDispatcher("/WEB-INF/jsp/abc.jsp").include(request, response);

如果页面被转发,则转发页面负责生成 HTML 内容,但在包含的情况下,您可以组合多个 HTML/JSP/Servlet 输出来生成最终的 HTML 内容。

阅读更多关于JSP - The include Directive

【讨论】:

    猜你喜欢
    • 2012-04-11
    • 2018-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多