gpt4 book ai didi

aem - CQ5.5 获取 servlet 中资源的 .infinity.json

转载 作者:行者123 更新时间:2023-12-02 07:31:36 24 4
gpt4 key购买 nike

如果我们这样设置组件资源:

  • 我的组件
    • mycomponent.jsp
    • mycomponent.JSON.jsp

我们可以假设它会这样工作:

  • /path/to/mycomponent.html => 查看 html
  • /path/to/mycomponent.json => 查看我的 json

此外,在 servlet 中我们也许可以做类似的事情

Resource myResource = resourceResolver.getResource(request, "path/to/mycomponent");

我只是好奇如何才能在 servlet 上下文中获取 .json 表示形式。

我已经做了一些事情来解决这个问题,但我想知道是否有替代方法,因为这个解决方案有很大的局限性。基本上,我在路径上加载 Node,并对 Node 及其子节点执行 JSONDumps。这将允许我从 mycomponent.getPath() 的资源中获取更大的 JSON 集,但它不允许我提取通过 mycomponent.JSON.jsp 创建的自定义 JSON View 。

任何想法/建议都会很棒,谢谢。

最佳答案

要捕获渲染资源的输出,您可以使用 SlingRequestProcessor 服务,该服务在内部发出请求,而无需通过网络层,但仍然使用用于处理 HTTP 的所有相同渲染机制请求。

如果您只需要在正在计算的渲染中包含此类输出,您可以使用 Request.getRequestDispatcher(somePathWithJsonExtension).include(request, response) 这是 Sling 和 CQ 包含的 JSP标签可以。

使用resourceResolver.getResource(...)不会进行任何渲染,它只是提供一个原始资源,它是一个数据/内容对象。

关于aem - CQ5.5 获取 servlet 中资源的 .infinity.json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23113536/

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