Java 在每个jsp页面中包含css和js文件

Java 在每个jsp页面中包含css和js文件,java,spring,jsp,spring-mvc,Java,Spring,Jsp,Spring Mvc,我在每个jsp文件中都包含了常见的css和js文件 那么,在每一页中包含它们的最佳实践是什么 我曾经使用,但我想知道这是否是最好的、干净的方法 您可以在您的web.xml中不使用任何框架来尝试此操作: <jsp-config> <jsp-property-group> <display-name>Display</display-name> <url-pattern>*.jsp</url-pattern&

我在每个jsp文件中都包含了常见的css和js文件

那么,在每一页中包含它们的最佳实践是什么


我曾经使用
,但我想知道这是否是最好的、干净的方法

您可以在您的
web.xml
中不使用任何框架来尝试此操作:

<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>

展示
*.jsp
假的
假的
假的
/template/header.jsp
/模板/footer.jsp

查看更多信息

是!将所有css和js定义放在一个jsp中,然后将该jsp包含在所有页面/jsp中,这是一个不错的选择


当您使用spring时,我建议您使用tiles,这是制作标准布局的更好方法,然后在所有jsp中使用该布局。

最好的解决方案是使用jsp标记文件。 它允许使用标记文件封装可重用内容:


下面是一个很好的例子:

使JavaScript和CSS成为外部的。

在现实世界中使用外部文件通常会生成更快的页面,因为浏览器会缓存JavaScript和CSS文件。每次请求HTML文档时,都会下载HTML文档中内联的JavaScript和CSS。这会减少所需的HTTP请求数量,但会增加HTML文档的大小。另一方面,如果JavaScript和CSS位于浏览器缓存的外部文件中,则HTML文档的大小会减小,而不会增加HTTP请求的数量

请通过以下链接获取有关此的更多信息:

“”


“”

我喜欢为此使用片段,它们是JSP支持的标准,因此不需要其他依赖项。正如你将看到的,它将带来许多其他好处

创建标记(parentpage.tag):


....
//插入每个页面所需的css
然后创建从该标记继承的各个页面

<%@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
//页脚内容
//身体内容

但这和我的方法不一样吗?使用瓷砖我能赢什么?看这个,我不认为这是一个好的解决方案,原因有三。首先,行为取决于servlet容器/应用程序服务器,请查找与特定编辑器无关的单个文档(您链接了weblogic文档)。其次,它一点也不灵活。第三,如果您使用Servlet3.0,您可能根本没有web.xml@alain.janinm,这是一个如何使用它的例子是的,当然:)没问题,这就是为什么我没有投反对票。我只是觉得这不是最好的解决办法。(但我同意,这仍然是一个有效的解决方案)
<%@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>