我已经从一个 JSP 文件中提取了大约 3500 行 JS 和 CSS 代码。
我目前正在清理一个包含超过 1500 行代码的大型 html 文件,以便我可以对功能进行一些增强。如何进一步分解此文件以使其易于管理并使网页的结构在 jsp 文件中可见?
使用您正在使用的任何 IDE 的“源代码格式化”功能。几乎所有的 IDE 都有这个功能。它将为您提供结构,因为它根据元素的嵌套程度缩进源代码。你提到你有 1500 行代码。我猜你有很多样式是为每个元素内联定义的。在 css 文件中创建新类并将它们分配给元素以将样式与页面结构分开。在浏览器中启动页面,并使用 firebug 或 chromes 开发工具“分块”出主要结构,如导航、版权信息、联系通知、等等。如果您使用任何后端技术(如 jsp),请将您网站常用元素的 HTML 保存为单独的文件。例如,您的导航部分可能会保存为导航。
<?(some jsp tag to include that file here because I do not know jsp);
?>
i use my tags as controls and templates, for example:
masterPage.tag file - general site template
<%@ tag description="page template" pageEncoding="utf-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>${title} | ${app.servName}</title>
<link href="${app.staticUrl}/css/general.css${v}" rel="stylesheet" type="text/css" />
</head>
<body>
<jsp:doBody />
</body>
</html>
comments.jsp - page with comments list(used masterPage.tag as template and commentsList.tag as controls)
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="utd" tagdir="/WEB-INF/tags/templates/default" %>
<%@ taglib prefix="uc" tagdir="/WEB-INF/tags/controls/" %>
<utd:masterPage>
<div class="post-comments">
<uc:commentsList comments="${post.comments}" />
</div>
</utd:masterPage>
<jsp:doBody>
will be replaced in master page with content in <utd:masterPage>
commentsList.tag - control, rendering comments, used in several places
<%@ tag description="render comments" pageEncoding="utf-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ attribute name="comments" required="true" type="java.util.List" description="comments list" %>
<c:if test="${not empty comments}">
<ul class="comments">
<c:forEach items="${comments}" var="comment" varStatus="i">
<li>
<div class="comments-text">
${comment.friendlyCreateDate}
<p>
${comment.text}
</p>
</div>
</li>
</c:forEach>
</ul>
</c:if>