gpt4 book ai didi

javascript - 在另一个 JSP 文件中包含一个 JSP 文件并修改父 HEAD 或 BODY?

转载 作者:行者123 更新时间:2023-11-30 12:20:18 29 4
gpt4 key购买 nike

使用: Apache 汤姆猫 6 Spring 4.0

假设我有一个“子”JSP 文件,其中包含指向外部 javascript 文件的链接:

然后我将 child.jsp 包含在我的父 JSP 文件的中间,生成的 HTML 将类似于以下内容:

<html>
<head></head>
<body>
<lotsOfHTML>
<!-- start injected JSP -->
<injectedHTML>
<script src="my-external-file.js"></script>
<!-- end injected JSP -->
<evenMoreHTML>
</body>
</html>

我想要的是:

<html>
<head></head>
<body>
<lotsOfHTML>
<!-- start injected JSP -->
<injectedHTML>
<!-- end injected JSP -->
<evenMoreHTML>
<script src="my-external-file.js"></script> <-- Injected Javascript
</body>
</html>

澄清:

这是我的 JSP 的样子:

index.jsp
include1.jsp
indclude2.jsp

index.jsp 包含页面的内容,例如页眉等。include1.jsp 和 include2.jsp 包含我希望在我的页面上重用的小部件和其他组件之类的东西。这包括 CSS 和 JavaScript 库。

默认情况下,任何包含的对外部 CSS 和 JavaScript 的引用都将包含在页面中间。我希望 JavaScript 库显示在包含 includeX.jsp 的页面底部。

我怎样才能做到这一点?最坏的情况(?)是将 JavaScript 文件包含在 HEAD 中,但最好是在 BODY 标签的底部。

谢谢!

/J

最佳答案

这可以使用 JSP 标记文件来完成。例如:

index.jsp

<%@ taglib prefix="my-tags" tagdir="/WEB-INF/tags" %>
<html>
<head>
<!-- Stuff goes here -->
</head>
<body>
<!-- Content goes here -->
<my-tags:javascript />
</body>
</html>

javascript.tag

<%@tag description="JavaScript libraries for all pages." pageEncoding="UTF-8"%>
<script type="text/javascript" src="/static/jquery.js"></script>

index.jsp 被 Tomcat 处理成 HTML 时,您的标记文件的内容将被注入(inject)到 JSP 中。如果您并不总是希望将 JS 注入(inject)到页面中,您还可以将标记引用包装在条件 EL 评估中。

关于javascript - 在另一个 JSP 文件中包含一个 JSP 文件并修改父 HEAD 或 BODY?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31317313/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com