java - 页眉和页脚的良好 JSP 代码结构

标签 java html jsp

我的 JSP 页面目前有以下代码结构:

MyPage.jsp

<jsp:include page="header.jsp"/>
Specific page content
<jsp:include page="footer.jsp"/>

但是,这意味着页眉和页脚代码没有正确的 HTML 结构。例如,这是简化的页眉和页脚代码:

header.jsp

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>${param.pageTitle}</title>
    </head>
    <body>
        <div class="container" style="margin-top: 80px;">

页脚.jsp

        </div>
    </body>
</html>

因此,IDE 会发出有关“缺少开始标记”/“缺少结束标记”的警告。我对完全禁用警告不太满意,因为它可能会发现 HTML 结构的合法问题。

是否有一种更简洁的方法来构建 JSP 代码,以便我仍然可以以某种好的方式重用页眉和页脚代码?

最佳答案

可能这是有帮助的。请看一下。

\home.jsp               // Base Page
\parts\meta.jsp         // To hold page meta information. Useful when working with SEO
\parts\header.jsp       // Resources CSS, images, 
\parts\footer.jsp       // Resources JS

记住

Use <%@include> because it is static include and <jsp:include> is dynamic include. When you use <jsp:include> the file will be included at runtime. When you use <%@include> file will be included at compile time.

这是代码片段。

1) 主页.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<%@ include file="parts/meta.jsp" %>  
<title>Home Page</title>
<%@ include file="parts/header.jsp" %>  
</head>
<body>
    <div class="view">
        <div class="pages">
            <jsp:include page="parts/page-body.jsp"></jsp:include>
        </div>
    </div>
    <%@ include file="parts/footer.jsp" %>  
</body>
</html>

2) 元.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<meta charset="utf-8">
<meta name="viewport"
    content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">

3) header.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<link href="http://fonts.googleapis.com/css?family=Roboto:400,300,500,700" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="css/my-page.css">
<link rel="stylesheet" href="css/my-icon.css">
<link rel="icon" href="img/icon.png">

4) 页脚.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<script type="text/javascript" src="js/my-app.js"></script>
<script type="text/javascript" src="js/my-app-service.js"></script>

谢谢:)

关于java - 页眉和页脚的良好 JSP 代码结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37499821/

相关文章:

jQuery Flexslider 不是每次都加载

jquery - 如何使父宽度等于其中所有元素的宽度?

html - 在无序列表中垂直居中超链接时出现问题

java - 如何配置 jOOQ 使用 javax 注释或其他东西而不是 jakarta 注释来生成?

java - 通过 Google 脚本从 Android 设备发送到 Google 表格。这安全吗?

Project Euler Q20 的 Java 算法

jsp - 使用自定义 JSP 组件和 Mbo 库创建动态图表

准备好的语句中的 Java 枚举到 mysql 枚举

java - 构建 netbeans web 项目并包含 webserver

jsp - 如何从 Spring Controller 在 JSP 上显示 Map 对象