gpt4 book ai didi

html - 如何从包含的jsp更改jsp基页中body标签的类

转载 作者:行者123 更新时间:2023-11-28 01:32:51 24 4
gpt4 key购买 nike

我正在尝试为我们的 AEM 相关页面找出解决方案。我需要根据页面 jsps 中包含的 jsp 逻辑更改基页中 body 标记的类。我需要这个,所以我可以设计不同的通用小部件来处理不同高度的固定标题。

所以我不能真正提供代码示例,因为我们正在谈论 jsps、 Controller 和内容编写者可以添加到页面的可编辑内容小部件。所以很难,因为我不确定如何进行。

那么让我试着解释一下我们这里有什么。我们有一个 jsp 基页,其中包含 html 标签集、head 标签集我们使用的所有元数据、css 和 js 库以及 body 标签集。基页也将包含包含的 jsps,代表整个站点使用的站点范围的页眉和页脚。我们还将有可选的子导航,可以添加到站点子部分的页面,并根据使用的页面模板类型激活。所以这意味着一个通用标题加上一个子导航。

然后每个页面jsp扩展了上面描述的基页。这些页面 jsps 充当我们的 CMS 使用的不同页面模板。内容作者可以将内容和 html 小部件拖到页面上。

我们还有包含自己的第三级子导航的页面模板,这些导航可以单独与通用标题一起使用,也可以与通用标题和子导航一起使用。

我们还有一个新场景,其中可能有一个可以播放的第 4 级导航。此导航将是 cms 中的可拖动小部件。

所以我想做的是基于页面模板和子导航的组合,根据页面是否单独为通用标题或任何不同的类对 body 标签进行不同的分类某人导航组合。这是必需的,以便内容作者将小部件拖到页面或开发内容我可以偏移内容或更改滚动偏移量以绕过不同的固定标题/导航解决方案

最佳答案

这听起来像是客户端代码的好案例。一种选择是使用在 DOM 内容加载事件(如果您使用 jQuery 时为“就绪”事件)上运行的 JavaScript 代码来更改 body 标记的 CSS 类。你可以让每个组件都有一个特定的、唯一的类。然后 JavaScript 函数可以检查页面并找到所有独特的组件,然后根据它找到的内容和您在该 JavaScript 函数中编写的逻辑将正确的类分配给 body 标记。

JSP 将在服务器上自上而下地处理,因此一旦处理了包含 body 标记的 JSP,您将无法更改已处理的内容以响应随后处理的某些后续 JSP。

另见

您可以调用一个标记来写出 body HTML 标记,并且在该标记的 Java 代码中您可以检查页面节点并查看包含了哪些其他组件,然后相应地写出 body 标记 HTML,如果您想在服务器上执行此操作。但关键是你必须在写body标签之前做这件事。一旦处理完 JSP 并将正文标记写入响应,再在后续的 JSP 中更改它就太晚了。

例如,在您的 JSP 中,您将执行如下操作:

<myCustomTags:bodyOpeningTagBuilder />
<html>
<head>
</head>
<c:out value="${bodyOpeningTagFromBuilder}" />

...other JSPs

</body>
</html>

关于html - 如何从包含的jsp更改jsp基页中body标签的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50864389/

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