SlingModels:从资源改编时可以注入 SlingHttpServletRequest 吗?

2023-12-28

我是 SlingModels 的新手,注释还不是很清楚。我目前正在尝试将一些基本基础组件从 AEM 6.2 转换为使用 SlingModels。

对于图像组件,基础 JSP 使用 SlingHttpServletRequest 来设置 ImageDoctype。所以我尝试了以下方法:

@Model(adaptables = {Resource.class})
public class ImageModel {
    @SlingObject
    private SlingHttpServletRequest request;

    @SlingObject
    private Resource resource;
}

但有了这个request一片空白。所以我改用:

@Model(adaptables = {SlingHttpServletRequest.class})

现在适用于reuqest and resource

JSP代码:

<sling:adaptTo adaptable="${slingRequest}" adaptTo="models.ImageModel" var="m"/>

这是正确的做法还是有办法适应resource并且仍然能够注入request?


您不能这样做,因为资源无法识别 SlingHttpServletRequest。如果您的模型中需要 Request,请使其适应 Request。

有一些图书馆允许这样做。它使用 Filter 将当前请求存储在 ThreadLocal 中,然后从中读取它,但我不推荐这种方法。 ThreadLocal 只是另一个全局。

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

SlingModels:从资源改编时可以注入 SlingHttpServletRequest 吗? 的相关文章

随机推荐

  • sqlsrv 通过网络非常慢

    我在 PHP 5 5 12 中使用 sqlsrv php pdo sqlsrv 55 ts dll 和 php sqlsrv 55 ts dll 通过 VPN 隧道连接到 MSSQL 2012 服务器 但大型结果集的传输速度非常慢 在同一台
  • FabricJS:当我更改路径坐标时,路径的边界框不会更新

    我们在处理结构中的路径时遇到问题 当用户拖动第一个点或最后一个点时 我们需要始终更改二次线 路径 的坐标 路径会像往常一样更新 但问题是路径的边界框不会随着 object path 的每次更改而更新 参见图片 function var ca
  • 如何删除已安装的 Visual Studio 2013 扩展 .vsix 文件?

    我刚刚安装了生产力电动工具 2013 http visualstudiogallery msdn microsoft com dbcb8670 889e 4a54 a226 a48a15e4cace对于我的 Visual Studio 20
  • 如何立即将信号捕获到交互式 Bash shell?

    我尝试从一个终端 A 向另一个终端 B 发送信号 两者都运行交互式外壳 在终端 B 中 我捕获信号 SIGUSR1 如下所示 trap source mycommand SIGUSR1 现在在终端 A 我发送一个信号 如下所示 kill S
  • 如何将 go.mod 中的 Go 模块依赖项指向存储库中的最新提交?

    从 v1 11 开始 Go 添加了对模块的支持 命令 go mod init
  • 从 R 中的 data.table 的列中删除序列号[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个数据表 dt 有三列 nm seqn 和 obj gt nm lt letters 1 22 gt seqn lt c 32
  • 如何检测以编程方式生成的 UIView 的旋转

    我有一个UIView这是以编程方式创建的 id initWithFrame CGRect frame self super initWithFrame CGRectMake 0 0 frame size width frame size h
  • Gmail 网址中的“shva”是什么?

    Gmail 网址的以下部分有何用途 https mail google com mail zx 1efobg68r40co shva 1 inbox 如果你改变它 什么也不会发生 我知道 Gmail 不是开源程序 因此我们无法追踪代码 但每
  • python - 返回默认值

    我正在寻找模仿内置函数的行为 例如getattr 允许用户指定 默认 返回值 我最初的尝试是这样做 def myfunc foo default None do stuff if default is not None return def
  • MVC 3 不绑定可为 null 的 long

    我创建了一个测试网站来调试我遇到的问题 看来要么是我传入的 JSON 数据错误 要么是 MVC 无法绑定可为 null 的 long 当然 我使用的是最新的 MVC 3 版本 public class GetDataModel public
  • UISearchController iOS 11 定制

    在 iOS 11 之前我一直使用以下代码来自定义外观UISearchController搜索栏 var searchController UISearchController searchResultsController nil sear
  • 使用 HTML5 语义标记搜索结果列表

    如果您只需要一些有用的东西 那么制作搜索结果列表 例如在 Google 中 并不难 然而现在 我想利用 HTML5 语义的优势来完美地做到这一点 目标是定义标记搜索结果列表的事实上的方式 该列表可能被任何未来的搜索引擎使用 对于每一次点击
  • Azure 权限中的“变体”是什么

    在关于这个的例子中https learn microsoft com en us powershell microsoftgraph find mg graph command view graph powershell 1 0 https
  • java到底有没有指针? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 限制 HTML5 文本区域中的行数

    我正在寻找问题的解决方案 但找不到 它可以是 AngularJS 或 Javascript 然后我将其翻译成 AngularJS 问题是我必须限制简单文本区域的行数 HTML5 的属性 rows x 仅限制视图 我必须限制线路 问题是 即使
  • urllib2 基本身份验证的奇怪之处

    我正用这个把头撞在墙上 我一直在尝试每个示例 阅读我可以在网上找到的有关 urllib2 基本 http 授权的所有最后一点 但我无法弄清楚是什么导致了我的特定错误 更令人沮丧的是 该代码适用于一个页面 但不适用于另一页面 登录 www m
  • Python 2.7 尝试并排除 ValueError

    我使用 int raw input 查询预计为 int 的用户输入 然而 当用户没有输入整数 即只是按回车键时 我会得到一个 ValueError def inputValue inputMatrix rangeRows rangeCols
  • 尝试在 woocommerce Analytics -> 订单报告表中添加订单项目名称列(并输出到 csv 文件)

    我正在尝试向 WooCommerce Analytics gt 订单提供的表中添加一列 并且该订单的商品名称 不是产品名称 显示在其上 我添加了一个钩子并尝试提取订单中商品的所有名称 这个钩子是我之前使用过的 它在 WooCommerce
  • 结构与类中使用的泛型

    假设我们有以下内容struct使用泛型的定义 public struct Foo
  • SlingModels:从资源改编时可以注入 SlingHttpServletRequest 吗?

    我是 SlingModels 的新手 注释还不是很清楚 我目前正在尝试将一些基本基础组件从 AEM 6 2 转换为使用 SlingModels 对于图像组件 基础 JSP 使用 SlingHttpServletRequest 来设置 Ima