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) 的用途是什么? 的相关文章

随机推荐

  • 调用 (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