0

我第一次使用 Eclipse,想知道用哪种方法来模板化它?我对瓷砖和jsp了解一点,对数据库零了解。

网站:

  • 静态页眉、导航、侧边栏和页脚
  • 几个不同内容的jsp
  • 主要问题是 --> 我有一个内容部分,只有一个布局,但是有 100 个不同的 jsp……我应该怎么做?

谢谢

4

1 回答 1

0

我不确定 Struts 和数据库是如何与此相关的,但基本上,<jsp:include>这是您可以在 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>
于 2011-07-07T19:46:23.407 回答