Sling解析脚本调用顺序

2024-01-12

我正在研究 sling 如何根据 url 调用脚本。在选择器的情况下,它似乎工作正常,但如果我不使用选择器,它会让我难以理解:

我有一个页面/content/AEMProject/English/test.html其中有资源类型AEMProject/components/page/basepage基于资源的页面有 4 个脚本文件:basepage.html.jsp , basepage.jsp , html.jsp, GET.jsp。我红色了吊带最佳匹配概念。所以我有两个奇怪的案例。

1) My basepage.html.jsp正在执行,因为我认为这是最佳匹配。如果我删除这个文件html.jsp执行但我认为basepage.jsp作为第二个最好的情况。

2)如果我删除basepage.html.jsp , basepage.jsp , html.jsp文件我的GET.jsp不渲染。

我在这里考虑将基页作为选择器,否则 IS 不是。

Thanks


引用自吊索文档 http://sling.apache.org/documentation/the-sling-engine/url-to-script-resolution.html脚本路径优先级的规则定义如下:

  • 匹配的请求选择器越多越好。

(请注意,具有多个选择器的脚本不会被选中,即,如果您有一个脚本 x.y.jsp,其中 x 和 y 是您的选择器,则 sling 会忽略它。但它仍然会选择该脚本y.jsp,存在于文件夹内x即,如果请求是针对 test.x.y.html,则

-basepage
 |_x
   |_y.jsp (selected)
 |_x.y.jsp (ignored)
 |_x.jsp (selected in case x/y.jsp is not present. The script containing the first selector is chosen in such cases.)
  • 包含请求扩展的脚本比不包含请求扩展的脚本匹配得更好(仅适用于 html)

  • 在处理顺序中较早找到的脚本比较晚找到的脚本匹配得更好。这意味着该脚本更接近原始版本 资源类型层次结构中的资源类型是较早考虑的。

那么现在回答你的问题,

  1. 您的 html.jsp 始终优先于您的 component.jsp,而不是相反。

  2. 您的 GET.jsp 应该在最坏的情况下执行,即当没有其他文件存在时,除非您从其他组件继承了该文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sling解析脚本调用顺序 的相关文章

  • CQ5:继承/扩展对话框

    作为参考 我在 CQ5 5 我很好奇是否有任何方法可以扩展继承的对话框 而不覆盖它的父对话框 例如 具有如下结构 base page template dialog title description inerited from base
  • 触摸 UI 对话框中的默认值 - AEM/CQ

    对于经典 UI 有一个选项可以设置defaultValue对于字段 当用户拖动组件后第一次打开对话框时 会向用户显示该字段 如果用户清除对话框中的值并保存 则在编辑对话框时 字段的值不会再次显示 对于触摸 UI 对话框 找不到等效项defa
  • AEM 6.1 使用的 Ext JS 版本

    AEM 6 1 使用哪个版本的 Ext JS 库 有没有直接的方法 控制台可以找到这个问题 It uses v3 4 0ExtJS 的基础上构建了 AEM Widget 库 您可以在以下位置找到详细信息 libs cq ui widgets
  • 如何在 cq 5.5 中配置 antisamy?

    我有 cq 5 5 项目 我想防止 XSS 攻击 根据这个linkcq 提供与 AntiSamy 项目的集成 请提供与 AntiSamy 集成的具体步骤 因为我真的找不到它 update 我应该在某个地方写这样的代码吗 import org
  • 如何在 AEM 6.1 中创建系统用户 (rep:SystemUser)?

    在 AEM 6 1 上 我尝试创建一个系统用户 rep SystemUser 谁能帮我 我需要这个系统用户映射到 OSGI 中的一个服务 我想用它来将一些数据写入 aem 内容 我可以在 CRX 中的以下位置看到 系统用户 home use
  • CQ5 中的 标签被替换为 标签

    我在用着富文本编辑器 with 杂项工具插件来编辑我的网站中的文本 但是当我打开 HTML 编辑器并创建这样的东西时 p strong Strong text strong p CQ立即将其重写为 p b Strong text b p 是
  • AEM 中基于资源解析器的 URL 映射

    我们有以下网站结构 content mysite en home testlevel1page testlevel2page 现在的要求是映射 http www mysite com gt content mysite en home ht
  • 如何根据cq5中的路径创建目录?

    我有一个字符串 例如页面的路径 content xperia public events eventeditor 我正在生成此页面的 XML 并将其保存到 DAM 但我想将其保存在类似的树结构中 content 我尝试了以下代码 Strin
  • AEM 如何解析 JSON 扩展?

    在 CQ 中 如果我请求诸如localhost 4502 content geometrixx en json 我会获取 JSON 格式的节点信息 这同样适用于 XML 扩展 我的问题是 如果URL扩展名是 那么节点信息以JSON格式呈现是
  • 如何为 Sling 资源实现自定义 AdapterFactory?

    Adobe AEM 软件提供了几个类 它们可以采用 apache Sling 资源并将其适应另一个类 如下所示 Page page resource adaptTo Page class 要将此语法与您编写和控制的类一起使用 这可以归结为简
  • Sling 重写器的工作原理说明

    我想了解 sling url 重写是如何工作的 我正在关注这个网址 http www cognifide com blogs cq multidomain cq mappings and apache configuration http
  • AEM Scheduler 的配置发生变化吗?

    我正在尝试为我的项目需求实现简单的调度程序 我的项目正在使用Adobe AEM 截至目前 我浏览了 Adob e 网站并尝试实现所提供的给定示例 但没有一个更新我的error log file package sling docu exam
  • Sling Servlet 中的 CQ5 QueryBuilder 参考

    我像这样声明一个 sling servlet Component metatype false Service Servlet class Properties Property name sling servlet paths value
  • 如何将“where not”添加到 QueryBuilder 查询

    我想搜索整个内容树 但不搜索基础上具有 不搜索 属性的特定树 The 查询生成器 API http dev day com docs en cq 5 4 dam customizing and extendingcq5dam query b
  • AEM CQ 与 JPA(休眠)

    我正在使用 Adob e Experience Manager AEM 6 4 Service Pack 1 和 Forms Package 我有很多扩展的属性 属性 所以我制作了一个数据库图 我不想将所有其他内容保存在 crx 中 我想将
  • 在Angular2中动态加载HTML模板

    我使用创建了一个项目angular cli其中包含应用组件如下 import Component from angular core Component selector app root templateUrl app component
  • 我们如何为 pom.xml 创建一个 build.gradle 等效文件来构建和部署 AEM 代码?

    我正在尝试创建一个构建 gradle文件 例如完整的 pom xmlAEM Maven 原型 https github com Adobe Marketing Cloud aem project archetype or 懒骨头模板 htt
  • 我们如何在 CQ5 中定义全局属性

    我的要求是拥有一个具有可创作属性的全局页眉和页脚 因此 如果我们更新一页上的属性 它应该会反映在所有页面上 在 CQ5 中实现这一目标的最佳方法是什么 ACS AEM Commons 现在支持此功能 无需使用 iparsys 共享组件属性
  • 将 JSP 包含到 sling servlet 中

    我目前正在开发一个小项目 试图帮助某人弄清楚如何连接组件 理想情况下我们想做两件事 有一个呈现模板的 jsp 我们所有的业务登录都在 SlingAllMethodServlet 中 servlet 定义要点 package definiti
  • 通过sightly访问特定资源中的属性

    我想访问资源中的特定属性 主要资源有两个子资源 应用程序位于第一个资源中 我想从老二那里得到一份财产 我能找到类似的东西吗 resource parent child 1 valueMap title Thanks 首先 请注意孩子的顺序可

随机推荐

  • Gtk.CssProvider() 基于 ID 的选择器在 Gtk3 中如何工作?

    我已经断断续续地摆弄这个问题好几天了 但似乎无法解决可能出现的问题 本质上 我正在尝试使用 CSS 样式声明在 Gtk3 中设置一些 Gtk Widget 的样式 没有什么复杂的 只是尝试通过其 id 名称来定位特定元素 Gtk CssPr
  • 确定运行时 JVM 可执行文件的位置

    如何在运行时获取当前运行的 JVM 的可执行文件的位置 我想使用 ProcessBuilder 类将另一个 JVM 实例化为子进程 我知道有java home系统属性 但这并不指定 JVM 可执行文件的位置 我知道我可以做这样的事情来获取路
  • 如何让异步流返回两个数据源

    我有以下函数 它返回标准输出数据 作为异步流 该数据是由运行System Diagnostics Process 当前该方法中的所有内容都按预期工作 我可以用await foreach 循环 我得到由外部 exe 生成的每一行输出 priv
  • 不同组件中的垫菜单和按钮

    I have
  • 在 PL/SQL 中使用带有“LIKE %”的变量(例如“variable%”)?

    问题类似于使用LIKE in SQL PLUS 其中 select 语句包含LIKE条款如下 select from sometable where somecolumn LIKE something 如何在游标中使用相同的内容 我尝试使用
  • scipy.io.wavfile.read 返回的数据是什么意思?

    的文档scipy io wavfile read说它返回采样率和数据 但在这种情况下 数据实际上意味着什么 wav files 谁能用通俗的语言告诉我这些数据是如何准备的 附言 我在某处读到这意味着振幅 我读到的内容正确吗 如果是 那么该幅
  • Android Studio - 1.5.11 之前的 IBus 可能会导致输入问题。有关详细信息,请参阅 IDEA-78860 [重复]

    这个问题在这里已经有答案了 Android Studio 1 5 Build AI 141 2422023 built on November 12 2015 我刚刚更新了我的Android Studio on Ubuntu 15 10当它
  • MVC5 - 数据注释 - 客户端验证没有发生?

    我有一个 MVC 5 应用程序 我使用数据注释来进行大部分验证 我的班级中的属性之一如下所示 Required ErrorMessage Please enter a business name StringLength 80 public
  • 如何从选项卡排序列表中排除小部件?

    此图来自Qt官网 我以此为例 我想避免一些不重要的小部件以选项卡为中心 如果您有一个小部件想要在一些常用的之间快速旋转 则此策略非常有用QLineEdit输入数据并转义那些很少使用的设置 Take the picture as an exa
  • python 中具有无限初始条件的 ODE

    我有一个二阶微分方程 我想用 python 求解它 问题是对于其中一个变量我没有初始条件0但仅限于无穷大的值 谁能告诉我应该提供哪些参数scipy integrate odeint 能解决吗 Equation Theta 需要根据时间来找到
  • 在 Eclipse 中添加外部 jar

    我创建了一个连接 MySQL 的程序 我使用 eclipse 添加外部 jar 选项添加 Connector j 程序在eclipse中运行良好 但是当我使用 eclipse 创建可执行 jar 并运行它时 它总是给出 ClassNotFo
  • 打开文件失败是否必须使用die?

    大多数时候 我会做这样的事情 open FH gt file txt or die Cann t open file Does die必须使用吗 如果我希望我的脚本继续 并且如果无法打开文件则忽略错误 我应该做什么 你可能想做类似的事情 i
  • openSUSE 的构建必备

    我是 openSUSE 的新手 我需要获得系统的构建必要条件 但无法使用它sudo apt get install build essential或者甚至通过使用sudo apt get update然后按照前面的代码进行操作 我找到了一种
  • 无法使用 SSH 访问 AWS CodeCommit

    弄清楚如何让 AWS CodeCommit 与标准 SSH 身份验证配合使用非常困难 看到另一个类似的主题 但没有答案 我还不能发表评论 这是在 Windows 上使用 Git Bash 重现步骤 创建具有完全权限的 IAM 用户 AwsA
  • 如何从 dropzone.js 上传和删除文件

    我使用了下面的代码 图像已被删除 但缩略图仍然显示 Dropzone options myDropzone init function this on success function file response file serverId
  • 在 R 中将日期转换为星期几

    我的数据框中有一个这种格式的日期 02 July 2015 我需要将其转换为星期几 即 183 就像是 df day of week lt weekdays as Date df date column 但这不理解日期的格式 你可以使用lu
  • 防止引导程序弹出窗口中的默认值

    我正在使用 twitter bootstrap 并且我已经得到了这段代码 addYT on click function event var this this event preventDefault popover placement
  • 递归:如何避免Python设置在迭代过程中更改设置 RuntimeError

    背景及问题描述 我有一些代码可以解决图着色问题 广义上定义为将 颜色 分配给无向图的问题 确保由边连接的两个顶点没有相同的颜色 我正在尝试使用约束传播来实现一个解决方案 以提高标准递归回溯算法的效率 但遇到以下错误 File C Users
  • 我想将 Qt QML Combobox 设置为 PyQt5 对象属性

    我正在编写一个小程序 它使用 Qt5 QML 作为 GUI 层 并使用 Python3 PyQt5 来实现数据模型 我现在想显示一个ComboBox在 QML 中并将其模型设置为枚举列表 如何将枚举导出为 python 类的属性 以便我可以
  • Sling解析脚本调用顺序

    我正在研究 sling 如何根据 url 调用脚本 在选择器的情况下 它似乎工作正常 但如果我不使用选择器 它会让我难以理解 我有一个页面 content AEMProject English test html其中有资源类型AEMProj
Powered by Hwhale