【问题标题】:How to dynamically include jsp files in Java EE如何在 Java EE 中动态包含 jsp 文件
【发布时间】:2012-02-29 21:28:07
【问题描述】:

我正在使用 Java EE 做一个小网站,但遇到了问题。事实上,我想要一个主布局,我希望我的网站的元素出现在每个页面上。类似的东西:

<html>
    <head>
        <title>Just a website...</title
    </head>
    <body>
        <div id="page">
            <div id="header"></div>
            <div id="content">
                <!-- Include content here -->
            </div>
            <div id="footer">
        </div>
    </body>
</html>

然后,当我进入特定页面时,我希望该页面的内容包含在“内容”块中。

问题是我不知道最好的方法是什么。我是否必须创建一个主 servlet 并将来自其他 servlet 的所有请求转发到该 servlet,然后处理我必须包含的页面?

我很乐意在互联网上找到教程或类似的东西,但我没有。

【问题讨论】:

标签: jsp jakarta-ee servlets


【解决方案1】:

您可以使用SiteMeshTiles 之类的东西,或者简单地使用jsp 包含机制,即perfectly serviceable for simplistic templating

【讨论】:

  • 我的问题是我不知道如何使用 servlet 来处理它。实际上,我每页有一个 servlet,我使用那行代码来获取正确的页面。 req.getRequestDispatcher("/jsp/account/addAccount.jsp").forward(req, resp); 那么我是否必须将所有 servlet 的请求转发到我的主布局?
  • @SylvainOllivier 没有;你看第二个例子了吗?
【解决方案2】:

您可以简单地使用&lt;jsp:include&gt; 这是在运行时包含页面(根据请求执行)。

另见

【讨论】:

  • 好的,所以我在主布局中放了一个&lt;jsp:include&gt;...但是我的主布局如何知道他需要包含哪个页面?
  • 对于您的简单示例,您甚至可以使用 jstl 条件来包含哪个 jsp 页面,或者根据您的预期页面模块化 jsps,这样您甚至可以有一个页眉和页脚分开的 jsp,并将它们包含在您的特定内容页面。同样,这将取决于您的内容/需求,但我相信这些非常适合简单的案例。
猜你喜欢
  • 2017-10-25
  • 1970-01-01
  • 2011-12-30
  • 2019-05-02
  • 1970-01-01
  • 1970-01-01
  • 2011-08-03
  • 2011-09-11
  • 2011-04-05
相关资源
最近更新 更多