我可以在一个 jsp 页面中启动一个 HTML 元素,然后在另一个页面中关闭它吗?

Can I start a HTML element in one jsp page, close it in another?

我想知道是否可以将 HTML 元素的开始标记放在 jsp 中的 "include" 中,并关闭包含的 HTML 元素之外的元素文件,甚至在另一个包含文件中。例如,我有这个网站:

<%@ page language="java" pageEncoding="UTF-8" %>
<!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <meta http-equiv="content-type" content="text/html;charset=utf-8">
            <mytags:scriptLoader />
            <mytags:cssLoader />
        </head>
        <body>
            <div id="bodycontainer" class="container-fluid">
            <div class="row">
                <div class="col-lg-10 col-md-10 col-sm-9">
                    <jsp:include page="/WEB-INF/views/sidebar.jsp" />
                    <div class="container-fluid">
                        <h2>Welcome</h2>
                    </div>
                </div>
            </div>
            </div>
            <br>
            <hr />
            <footer>&copy; 2015 by ...</footer>
        </body>
    </html>

然后我改成了

<%@ page language="java" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<%@ include file="/WEB-INF/views/header.jsp" %>
    <div class="container-fluid">
        <h2>Welcome</h2>
    </div>
</div>
<%@ include file="/WEB-INF/views/footer.jsp" %>

其中 header.jsp 是:

<html>
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="content-type" content="text/html;charset=utf-8">
        <mytags:scriptLoader />
        <mytags:cssLoader />
    </head>

    <body>
        <div id="bodycontainer" class="container-fluid">
        <div class="row">
            <div class="col-lg-10 col-md-10 col-sm-9">
                <jsp:include page="/WEB-INF/views/sidebar.jsp" />

和footer.jsp是:

        </div>
        </div>
        <br>
        <hr />
        <footer>&copy; 2015 by ...</footer>
    </body>
</html>

问题是,Eclipse 不断警告 header.jsp 上的标签未关闭以及 footer.jsp 上的标签未开始。

该网站目前在我的网络浏览器上运行良好,但我想知道将来是否会出现任何问题。

您可以跨 JSP 溢出代码,方法是确保它们在协同工作时形成有效 HTML。但始终建议在一个 jsp 中定义布局,并根据需要在其他部分中定义部分,以便更好地管理代码。