Include css and js file in every jsp page
我在每个JSP文件中都包含了常见的CSS和JS文件。
那么在每一页中包含它们的最佳实践是什么呢?
我以前用过
我喜欢为此使用片段,JSP支持这些片段,因此不需要其他依赖项。正如你将看到的,它将带来许多其他的好处。
创建标记(parentpage.tag):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <%@tag description="Base page" pageEncoding="UTF-8" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %> <%@attribute name="extra_css" fragment="true" %> <%@attribute name="footer" fragment="true" %> <%@attribute name="header" fragment="true" %> <html> <head> .... // insert css that is needed for every page <jsp:invoke fragment="extra_css"/> <jsp:invoke fragment="header"/> <jsp:doBody/> <jsp:invoke fragment="footer"/> |
然后创建从此标记继承的单个页
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <%@page contentType="text/html" pageEncoding="UTF-8"%> <%@taglib prefix="t" tagdir="/WEB-INF/tags" %> <t:parentpage> <jsp:attribute name="extra_css"> // custom css for this page </jsp:attribute> <jsp:attribute name="footer"> // footer content </jsp:attribute> <jsp:body> // body content </jsp:body> </t:parentpage> |
对!将所有CSS和JS定义放在一个JSP中,然后将该JSP包含在所有页面/JSP中,这是一个不错的选择。
在使用Spring时,我建议您使用tiles https://tiles.apache.org/,这是制作标准布局的更好方法,然后在所有JSP中使用该布局。
在您的
1 2 3 4 5 6 7 8 9 10 11 | <jsp-config> <jsp-property-group> <display-name>Display</display-name> <url-pattern>*.jsp</url-pattern> <el-ignored>false</el-ignored> <scripting-invalid>false</scripting-invalid> <is-xml>false</is-xml> <include-prelude>/template/header.jsp</include-prelude><!-- header --> <include-coda>/template/footer.jsp</include-coda><!-- footer --> </jsp-property-group> </jsp-config> |
在这里看到更多
制作外部的JavaScript和CSS。
在现实世界中使用外部文件通常会生成更快的页面,因为浏览器会缓存javascript和css文件。每次请求HTML文档时,都会下载HTML文档中内联的JavaScript和CSS。这减少了所需的HTTP请求数量,但增加了HTML文档的大小。另一方面,如果javascript和css在浏览器缓存的外部文件中,则HTML文档的大小会减小,而不会增加HTTP请求的数量。
请按照以下链接获取有关此的详细信息:
"https://developer.yahoo.com/performance/rules.html"
"在JSP页面中包含外部Java脚本文件"
最好的解决方案是使用JSP标记文件。它允许使用标记文件封装可重用的内容:Java DOC REF
下面是一个很好的回答:示例:HTTPS://StaskOfFult.COM/A/325726/1140788