我应该如何在 Eclipse 中模板化我的网站

发布于 2024-11-18 17:00:21 字数 216 浏览 3 评论 0原文

我是第一次使用 Eclipse,想知道应该采用哪种方式对其进行模板化?我对tiles和jsp了解一点,对数据库了解零。

站点:

  • 静态页眉、导航、侧边栏和页脚
  • 几个不同的内容 jsp 的
  • 主要问题是 -->我有一个内容部分,只有一种布局,但有 100 个不同的 jsp...我应该如何解决这个问题?

谢谢

I'm using Eclipse for the first time, wondering which way to go about templating it? I know a little about tiles and jsp's, zero about databases.

the site:

  • static header, nav, sidebar, and footer
  • a few different content jsp's
  • main question is --> I have one content section with one layout but 100's of varying jsp's...how should I go about this?

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

⊕婉儿 2024-11-25 17:00:21

我不确定 Struts 和数据库与此有何关系,但基本上, 是您在 JSP 中可以获得的最佳内容。

/WEB-INF/template.jsp 的基本启动示例

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>${title}</title>
        <link rel="stylesheet" href="style.css" />
        <script src="script.js"></script>
    </head>
    <body>
        <div id="header">
            header
        </div>
        <div id="menu">
            menu
        </div>
        <div id="content">
            <jsp:include page="/WEB-INF/${view}.jsp" />
        </div>
        <div id="footer">
            footer
        </div>
    </body>
</html>

和控制器 Servlet

@WebServlet(urlPatterns={"/pages/*"})
public class Controller extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String view = request.getPathInfo().substring(1);
        String title = titles.get(view); // Imagine that it's a map or something.

        request.setAttribute("view", view);
        request.setAttribute("title", title);
        request.getRequestDispatcher("/WEB-INF/template.jsp").forward(request, response);
    }

}

调用它经过

http://localhost:8080/contextname/pages/foo

并提供 / WEB-INF/foo.jsp 文件应该代表内容。例如

/WEB-INF/foo.jsp

<h1>This is Foo!</h1>
<p>Lorem ipsum</p>

I'm not sure how Struts and databases are related to this, but basically, <jsp:include> is the best what you can get in JSP.

Basic kickoff example of /WEB-INF/template.jsp

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>${title}</title>
        <link rel="stylesheet" href="style.css" />
        <script src="script.js"></script>
    </head>
    <body>
        <div id="header">
            header
        </div>
        <div id="menu">
            menu
        </div>
        <div id="content">
            <jsp:include page="/WEB-INF/${view}.jsp" />
        </div>
        <div id="footer">
            footer
        </div>
    </body>
</html>

And the controller Servlet:

@WebServlet(urlPatterns={"/pages/*"})
public class Controller extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String view = request.getPathInfo().substring(1);
        String title = titles.get(view); // Imagine that it's a map or something.

        request.setAttribute("view", view);
        request.setAttribute("title", title);
        request.getRequestDispatcher("/WEB-INF/template.jsp").forward(request, response);
    }

}

Invoke it by

http://localhost:8080/contextname/pages/foo

and provide a /WEB-INF/foo.jsp file which should represent the content. E.g.

/WEB-INF/foo.jsp

<h1>This is Foo!</h1>
<p>Lorem ipsum</p>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文