我将Java与Servlet和JSP结合使用来创建基本应用程序。

我有这个基本的html文件,我称其为基本布局,它具有基本的页面结构,以及导航菜单,页眉和页脚。

我也有一个register.jsp页面,用户可以在其中注册。

当用户点击register.jsp网址时,如何将/register包含在基本布局中?

当前,我使用PrintWriter对象从Servlet中转储注册页面的html内容,并使用ajax在基础页面上动态呈现内容。但这确实是一个坏习惯。

最佳答案

是的,这确实是不好的做法。

可以轻松完成的更简单选择是将html文件转换为jsp。然后,可以在jsp中包含所需的任何其他资源。考虑以下示例:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <jsp:include  flush="true" page="/templates/css.jsp"/>
        <jsp:include  flush="true" page="/templates/scripts.jsp"/>
    </head>
    <body>
        <div id="container">
            <div id="header">
                <jsp:include  flush="true" page="/templates/header.jsp"/>
                <jsp:include  flush="true" page="/templates/top_menu_visitor.jsp"/>
            </div>
            <div id="wrapper">
                <jsp:include  flush="true" page="/templates/top_content_visitors.jsp"/>
            </div>
            <div id="footer">
                <jsp:include  flush="true" page="/templates/footer_credits.jsp"/>
            </div>
        </div>
    </body>
</html>


在此示例中,您有一个包含许多组件的模板页面,其中大部分在不同页面之间是通用的。这可能是您的index.jsp。对于注册jsp,您只需要像这样创建一个新的jsp页面,然后更改几个部分即可。

这是要走的路。在Java EE中,有许多框架可以使此过程自动化。

关于java - 根据url动态在另一个内部包含.jsp页面,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17331614/

10-14 05:39