如何使用java类
我已经在本地的组件中创建了一个java类,我无法用参数调用java类 socialfeeds.java socialfeeds.html如何使用java类,java,aem,sightly,Java,Aem,Sightly,我已经在本地的组件中创建了一个java类,我无法用参数调用java类 socialfeeds.java socialfeeds.html ${socialfeeds.displayMessage('hello world')} 我也试过了 <div data-sly-use.socialfeeds="SocialFeeds"> <h1>${socialfeeds.displayMessage @ 'hello world'}</h1> </di
${socialfeeds.displayMessage('hello world')}
我也试过了
<div data-sly-use.socialfeeds="SocialFeeds">
<h1>${socialfeeds.displayMessage @ 'hello world'}</h1>
</div>
${socialfeeds.displayMessage@'hello world'}
两者都不起作用
要求。
我的目的是从对话框中创建服务获取参数,并调用Instagram API以获取数据并以html呈现您的java类应该扩展WCMUsePojo类,要知道如何在中使用这些类,您可以参考 不能在HTL(sightly)表达式中使用参数调用方法 在HTL表达式中使用的任何方法都必须是无参数(最好是getter)方法 这并不是说您不能将参数从sightly传递到您的模型(无论是
Use
还是sling model
提供者)您可以,以下是您的操作方法:
只能通过HTL表达式选项将参数传递给模型
可以找到HTL规范
使用使用API:
看看adobe文档
以下是文档中的一个示例:
<div data-sly-use.model3="${'org.example.models.Model3' @ colour='red', path=resource.path}">
${model3.shine}
</div>
/content/my example/component/info/info.html
<div data-sly-use.info="${'Info' @ text='Some text'}">
<h1>${info.lowerCaseTitle}</h1>
<p>${info.lowerCaseDescription}</p>
<p>${info.upperCaseText}</p>
</div>
使用吊索型号
:
看一下sling模型提供程序文档
以下是文档中的一个示例:
<div data-sly-use.model3="${'org.example.models.Model3' @ colour='red', path=resource.path}">
${model3.shine}
</div>
希望这有帮助 嗨@Pooja Chauhan,你能给我举个例子吗?另外,我已经检查了那篇文章,它没有在java service.plz中获取参数。请在尝试回答更多问题之前,遵循此链接()进行samePlease阅读。链接只回答不考虑合法的答案。链接会过时并变得无用。请参阅如何写出一个好答案的链接。这里的主要目的是帮助某人找到答案。我认为只要有人得到了答案,提供合适的链接而不是编写已经可用的相同内容是没有坏处的。感谢详细的答案,我可以在组件中创建模型类吗?而是按照AEM中的建议单独创建
package apps.my_example.components.info;
import com.adobe.cq.sightly.WCMUse;
public class Info extends WCMUse {
...
private String reverseText;
@Override
public void activate() throws Exception {
...
String text = get("text", String.class);
reverseText = new StringBuffer(text).reverse().toString();
}
public String getReverseText() {
return reverseText;
}
...
}
<div data-sly-use.model3="${'org.example.models.Model3' @ colour='red', path=resource.path}">
${model3.shine}
</div>
@Model(adaptables=SlingHttpServletRequest.class)
public class Model3 {
@Inject
private String colour;
@Inject
private String path;
}