Apache Sling 中的 resourceResolver.adaptTo(Session.class) 的用途是什么?

2024-02-28

我是 Apache Sling、CQ5 等的新手。

在我们的代码库中,我们有一个与此类似的代码片段:

void perform(SlingHttpServletRequest request, SlingHttpServletResponse response) {
    ResourceResolver resourceResolver = request.getResourceResolver();

    Session session = resourceResolver.adaptTo(Session.class);
    PageManager pageManager = resourceResolver.adaptTo(PageManager.class);
}

What's adapTo在这里做什么?

还有一个好的文档/用户手册可供我阅读以开始使用 Sling、CQ5 等?


在许多 sling 对象中都可以使用 adaptTo() 方法来“变换”对象。 Sling 可能决定添加一个resolver.getSession() 方法,但这不是很灵活。 AdaptTo 的好处在于它是动态的。您可以创建适配器来在不同类型之间进行转换(它们是 OSGi 服务)。吊带和 CQ5 还包括一堆适配器 http://dev.day.com/docs/en/cq/current/developing/sling-adapters.html默认情况下。吊索 Wiki 有一些关于adapters https://sling.apache.org/documentation/the-sling-engine/adapters.html.

关于如何开始使用 Sling 和 CQ5,吊带现场 https://sling.apache.org/是一个很好的起点

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

Apache Sling 中的 resourceResolver.adaptTo(Session.class) 的用途是什么? 的相关文章

  • 任务“:app:dexDebug”执行失败

    我目前正在处理我的项目 我决定将我的 Android Studio 更新到新版本 但在我导入项目后 它显示如下错误 Information Gradle tasks app assembleDebug app preBuild UP TO
  • Android - 如何访问 onResume 中 onCreate 中实例化的 View 对象?

    In my onCreate 方法 我正在实例化一个ImageButton View public void onCreate Bundle savedInstanceState super onCreate savedInstanceSt
  • 如何在 Eclipse 中用阿拉伯语读写

    我在 eclipse 中编写了这段代码来获取一些阿拉伯语单词 然后打印它们 public class getString public static void main String args throws Exception PrintS
  • 检查双精度值的等于和不等于条件

    我在比较两者时遇到困难double values using and 我创建了 6 个双变量并尝试进行比较If健康 状况 double a b c d e f if a b c d e f My code here in case of t
  • 如何打印整个字符串池?

    我想打印包含文字的整个字符串池String使用添加的对象intern 就在垃圾收集之前 JDK有没有隐式的方法来进行这样的操作 我们如何检查字符串池 EDIT The comment suggests that there may be a
  • 有没有好的方法来解析用户代理字符串?

    我有一个Java接收模块User Agent来自最终用户浏览器的字符串的行为需要略有不同 具体取决于浏览器类型 浏览器版本甚至操作系统 例如 FireFox 7 0 Win7 Safari 3 2 iOS9 我明白了User Agent由于
  • 如何对 IntStream 进行逆序排序

    我正在使用 txt 文件读取数字BufferedReader 我想颠倒该流中元素的顺序 以便在收集它们时 它们将从最高到最低排列 我不想在构建数组后进行排序 因为我不知道其中可能有多少元素 我只需要最高的 N 个元素 in new Buff
  • 使用 Spring 时实例化对象,用于测试与生产

    使用 Spring 时 应该使用 Spring 配置 xml 来实例化生产对象 并在测试时直接实例化对象 这样的理解是否正确 Eg MyMain java package org world hello import org springf
  • 如何解决 onEditCommit 事件上的类型不匹配错误?

    我在 Fxml 中使用 onEditCommit 事件在用户编辑数据后检索数据 FXML 代码
  • Java 重写 hashCode() 得到 StackOverflowError

    所以我不太熟悉重写 hashCode 并且我似乎在 hashCode 方法中以某种方式进行了一些无限递归 这是我的场景 我有一个 DuplicateCache 类 它是一个缓存对象 用于检查系统中的重复对象 我有一个静态内部类 Duplic
  • cucumber-junit-platform-engine 中的功能文件发现

    In cucumber junit我使用的库 CucumberOptions定义功能文件位置 package com mycompany cucumber import cucumber api CucumberOptions import
  • Java:VM 如何在 32 位处理器上处理 64 位“long”

    JVM 如何在 32 位处理器上处理 64 位的原始 long 在多核 32 位机器上可以并行利用多个核心吗 64 位操作在 32 位机器上慢了多少 它可能使用多个核心来运行不同的线程 但不会并行使用它们进行 64 位计算 64 位长基本上
  • 具有多种值类型的 Java 枚举

    基本上我所做的是为国家编写一个枚举 我希望不仅能够像国家一样访问它们 而且还能够访问它们的缩写以及它们是否是原始殖民地 public enum States MASSACHUSETTS Massachusetts MA true MICHI
  • 如何使用 Mockito 和 Junit 模拟 ZonedDateTime

    我需要模拟一个ZonedDateTime ofInstant 方法 我知道SO中有很多建议 但对于我的具体问题 到目前为止我还没有找到任何简单的解决办法 这是我的代码 public ZonedDateTime myMethodToTest
  • 来自客户端的超时 Web 服务调用

    我正在使用 RestEasy 客户端调用网络服务 一项要求是 如果调用运行时间超过 5 秒 则中止 超时调用 我如何使用 RestEasy 客户端实现这一目标 我只看到服务器端超时 即如果在一定时间内未完成请求 Rest Easy 网络服务
  • struts 教程或示例

    我正在尝试在 Struts 中制作一个登录页面 这个想法是验证用户是否存在等 然后如果有错误 则返回到登录页面 错误显示为红色 典型的登录或任何表单页面验证 我想知道是否有人知道 Struts 中的错误管理教程 我正在专门寻找有关的教程 或
  • Spock模拟inputStream导致无限循环

    我有一个代码 gridFSFile inputStream bytes 当我尝试这样测试时 given def inputStream Mock InputStream def gridFSDBFile Mock GridFSDBFile
  • Path2D 上的鼠标指针检测

    我构建了一个Path2D http docs oracle com javase 7 docs api java awt geom Path2D html表示由直线组成的未闭合形状 我希望能够检测何时单击鼠标并且鼠标指针靠近路径 在几个像素
  • 如何将实例变量传递到 Quartz 作业中?

    我想知道如何在 Quartz 中外部传递实例变量 下面是我想写的伪代码 如何将 externalInstance 传递到此作业中 public class SimpleJob implements Job Override public v
  • 使用 eclipse IDE 配置 angularjs

    我想开始使用 AngularJs 和 Java Spring 进行开发 我使用 Eclipse 作为 IDE 我想配置我的 Eclipse 以使这些框架无缝工作 我知道我可能要求太多 但相信我 我已经做了很多研究 你们是我最后的选择 任何帮

随机推荐

  • 调用 (document).resize 和 (document).ready

    我正在尝试使用调用等高函数 document ready 尽管我不得不这样称呼它 因为我收到了类型错误 jQuery function cols equalHeights 代替 document ready function cols eq
  • 仅使用 XML:LibXML 在 Perl 中添加对 XSLT 的引用

    我有一个动态创建的 XML 但是 我想在其中添加对 XSLT 文件的引用 以便能够在 Mozilla 中将 XML 文件呈现为 HTML 我希望我的最终 XML 能够这样开始
  • 有没有办法以线性调用顺序控制承诺流程?

    我仍然没有严格遵守承诺 假设我有一个代码 selected eq i blink fadeOut 200 delay 50 fadeIn 400 delay 100 fadeOut 200 delay 50 fadeIn 400 后来我打电
  • 如何通过 javax.script 创建和使用字节数组

    我们可以使用 javax script 创建原始数组 如字节数组或 int 数组吗 要在 Mozilla 的 Rhino 中创建 10 字节的 Java 数组 var buff java lang reflect Array newInst
  • 在 Python 列表中保留两个、跳过两个

    我有一个 Python 列表 num list list range 1 33 并且需要列表中的所有其他数字对 如下所示 1 2 5 6 9 10 我已经弄清楚如何从列表中排除某些索引 就像这样 num list 2 3 gt 3 6 9
  • 大型项目的 C# 编译时间(与 C++ 相比)

    我经常听到人们称赞C 的编译速度 到目前为止 我只制作了一些小型应用程序 而且我确实注意到编译速度非常快 但是 我想知道这是否仍然成立大型应用程序 大型 C 项目的编译速度是否比类似大小的 C 项目更快 是的 C 通常编译速度要快得多 但并
  • 针对 ARM 的 x86?

    是否可以在 ARM 机器上使用 gcc 编译为 x86 我找不到任何 march允许完成此操作的选项 如果无法完成 没什么大不了的 但我仍然有兴趣知道是否可能 是的 但你不需要 march 机器 您想要构建或安装一个以arm为主机架构 以x
  • 基于用户角色渲染 JSF 组件

    如何根据登录用户的角色呈现 JSF 组件 我知道外部上下文公开了原理 但是我应该如何在 JSF 中正确进行渲染 在 JSP 中 它会是这样的
  • 在iPhone上实现蓝牙数据传输

    如何为 iPhone 创建蓝牙应用程序 关于控制器我需要了解什么 委托方法 The GameKit框架包含允许通过蓝牙网络进行通信的 API 使用这些APIs 您可以轻松创建点对点游戏和应用程序 用于访问蓝牙的所有各种 API 都位于Gam
  • leiningen 为什么要建立目录层次结构?我可以放弃它吗?

    如果我使用 leiningen 创建一个新的 clojure 项目 它会生成一个如下所示的目录树 doc intro md project clj README md src hello friend core clj test hello
  • 有没有 MXML 接口之类的东西

    这可能是一个愚蠢的问题 所以如果是的话 请提前道歉 我想知道 MXML 中是否有等效的接口 每当我觉得需要使用界面时 我总是会制作一个动作脚本而不是一个 MXML 文件 因为我不知道是否 如何可以 例如 我打算有一个基于 vbox 的组件
  • jQuery 可拖动选项元素

    关于使以下选项元素可拖动有什么技巧吗
  • 我怎样才能使用javascript保护csv文件的密码

    html 表数据导出到 csv 文件 它正在发生 但我想使用 javascript 对 csv 文件进行密码保护 这可能吗 或其他方法做同样的事情 提前致谢 从表面上看 CSV 文件只是一种数据交换格式 其中字段以逗号分隔 每条记录占一行
  • 如何将参数传递给google cloud build中的docker run

    我正在尝试使用 GCB 运行 cypress 管道 但在 docker 内运行时它崩溃了 如描述的那样解决此问题here https github com cypress io cypress issues 350 是运行 docker i
  • 为什么 `my $x = if (0) {1} else {2}` 不起作用?

    在 Perl 中 x if 0 1 else 2 不起作用 perl E x if 0 1 else 2 syntax error at e line 1 near if Execution of e aborted due to comp
  • 我需要服务器才能使用 git 吗?

    如果我需要在工作或其他地方访问我的家庭计算机上的文件 我是否需要有一个网络服务器并在那里签入文件 如果我正在使用git 我还需要服务器还是我实际上在他们的服务器上保存文件 首先 Git 是分散式版本控制系统 这意味着当使用 Git 时 您在
  • 如何用html5 canvas绘制连续的圆形图案

    我有这个图片 and i want to draw with the image as the pattern When i did i got a result on the canvas like this 但我需要输出是 所以我的问题
  • 如何确认网站正在完全信任地运行?

    我给予了网站完全信任 但我仍然遇到一些安全例外情况 如何确认网站完全信任 您可以使用安全管理器 IsGranted http msdn microsoft com en us library system security security
  • 使用 IAM 帐户时 AppSync 查询返回未经授权

    我正在使用 AWS Amplify 我的 GraphQL 架构中有两个如下所示的模型 type Class model auth rules allow owner identityClaim sub allow owner identit
  • Apache Sling 中的 resourceResolver.adaptTo(Session.class) 的用途是什么?

    我是 Apache Sling CQ5 等的新手 在我们的代码库中 我们有一个与此类似的代码片段 void perform SlingHttpServletRequest request SlingHttpServletResponse r