首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在aem 6.3中使用sling模型获取页面属性?

如何在aem 6.3中使用sling模型获取页面属性?
EN

Stack Overflow用户
提问于 2018-01-03 22:34:41
回答 4查看 11.1K关注 0票数 1

我试图使用AEM 6.3中的Sling模型来获取页面属性,但总是得不到任何结果。

代码语言:javascript
复制
resultsRootPath = getCurrentPage().getProperties().get("ResultsRootPath", String.class);

属性路径:

代码语言:javascript
复制
/components/content/results/cq:dialog/content/items/column/items/ResultsRootPath

你能让我知道用吊索模型计算房产价值的正确方法吗?

EN

回答 4

Stack Overflow用户

发布于 2018-09-08 16:04:41

您还可以执行以下操作:

代码语言:javascript
复制
@Model(adaptables = {SlingHttpServletRequest.class,Resource.class})
public class MyCustomModel{

    @Inject
    private InheritanceValueMap pageProperties;

    @Inject
    private ValueMap properties;

    @PostConstruct
    public void activate() {
        String pageString = pageProperties.getInherited("myproperty", "default"); //InheritanceValueMap gives pageProperties Value Map and getInherited is used to fetch a particular property.
    }

有关更多信息,请参阅:http://blogs.adobe.com/experiencedelivers/experience-management/valuemap-and-his-friend/

票数 1
EN

Stack Overflow用户

发布于 2018-03-26 18:44:01

在您的模型类中,您可以创建如下字段:

代码语言:javascript
复制
@Model(adaptables = Page.class)
public class ResultsPageModel {

    @Inject
    @Via("contentResource")
    @Named("ResultsRootPath")
    private Resource resultsRootPath;
}
票数 0
EN

Stack Overflow用户

发布于 2019-03-27 23:49:30

要利用injector specific annotation,更好的方法是:

代码语言:javascript
复制
@Model(adaptables = SlingHttpServletRequest.class)
public class MyModel {
  @ValueMapValue
  private String ResultsRootPath;

  public String getResultsRootPath(){ return ResultsRootPath; }
}

值得一提的是,请在resultsRootPath中对属性使用驼峰式大小写。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48079450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档