Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java类_Java_Aem_Sightly - Fatal编程技术网

如何使用java类

如何使用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

我已经在本地的组件中创建了一个java类,我无法用参数调用java类

socialfeeds.java

socialfeeds.html


${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;
    }