我有一个场景,我想用输入参数调用吊索模型。 为此,我有一个像这样的代码
*{
display:block;
}
但我想用两个不同的参数两次调用吊索模型中的方法。是否可以使用吊索模型?
任何帮助!!!
答案 0 :(得分:2)
通过设计HTL / Sightly语言,发送参数仅适用于data-sly-use
(使用对象初始化)和data-sly-call
(模板调用)。这样做的原因是将业务逻辑与视图分开。
答案 1 :(得分:2)
从AEM 6.3开始,有一个新的HTL功能允许执行此操作。
现在可以在data-sly-include和data-sly-resource中传递 requestAttributes以便在接收的HTL脚本中使用它们。 这使您可以将参数正确地传递到脚本或 组件。
<sly data-sly-use.settings="com.adobe.examples.htl.core.hashmap.Settings"
data-sly-include="${ 'productdetails.html' @ requestAttributes=settings.settings}"/>
Settings类的Java代码,Map用于传递 requestAttributes:
public class Settings extends WCMUsePojo {
// used to pass is requestAttributes to data-sly-resource
public Map<String, Object> settings = new HashMap<String, Object>();
@Override
public void activate() throws Exception {
settings.put("layout", "flex");
}
}
例如,通过Sling-Model,您可以使用指定的requestAttributes的值。在此示例中,布局是通过地图从Use-class中注入的:
@Model(adaptables=SlingHttpServletRequest.class)
public class ProductSettings {
@Inject @Optional @Default(values="empty")
public String layout;
}