Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.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 AEM吊索模型--多字段链接组件,缺失元素异常:无法注入所有必需字段_Java_Aem_Sightly_Htl - Fatal编程技术网

Java AEM吊索模型--多字段链接组件,缺失元素异常:无法注入所有必需字段

Java AEM吊索模型--多字段链接组件,缺失元素异常:无法注入所有必需字段,java,aem,sightly,htl,Java,Aem,Sightly,Htl,AEM吊索型号--多字段链接组件: MissingElementsException:无法注入所有必需的字段 我正在尝试创建一个多字段链接(URL)组件-外部和内部链接。请参见getpageURL(),了解更多信息 见下图: @Model(adaptables = Resource.class) public class Links_Bean { @Inject private String pagePath; @PostConstruct protected void init() {

AEM吊索型号
--多字段
链接组件:

MissingElementsException:无法注入所有必需的字段

我正在尝试创建一个
多字段
链接(URL)组件-外部和内部链接。请参见
getpageURL()
,了解更多信息

见下图:

@Model(adaptables = Resource.class)
public class Links_Bean {

@Inject
private String pagePath;

@PostConstruct
protected void init() {
    pagePath = getPageURL(pagePath);
}

public static String getPageURL(String pagePath) {
    if (pagePath.isEmpty() || (pagePath.equals(null))) {
        return null;
    } else if (pagePath.startsWith("/content")) {

        return pagePath.concat(".html");
    } else if (pagePath.startsWith("http://") || pagePath.startsWith("https://") || pagePath.startsWith("www")) {
        return pagePath;
    }
    return pagePath;
}

public String getPagePath() {
    return pagePath;
}

public void setPagePath(String pagePath) {
    this.pagePath = pagePath;
}

}

package com.hcl.aem.core.models;


@Model(adaptables = Resource.class)
public class MF_newMethod {
@Inject
@Named("items")
public Resource pagePathMF;

public List<Links_Bean> links = new ArrayList<Links_Bean>();

@PostConstruct
protected void init() {
    if (pagePathMF != null) {
        links = getPageList(links, pagePathMF);
    }
}

public static List<Links_Bean> getPageList(List<Links_Bean> array, Resource resource) {
    if (resource != null) {

        Iterator<Resource> linkResource = resource.listChildren();
        while (linkResource.hasNext()) {
            Links_Bean lb = linkResource.next().adaptTo(Links_Bean.class);

            array.add(lb);

        }

    }
    return array;
}

public List<Links_Bean> getLinks() {
    return links;
}
package com.hcl.aem.core.models;
@模型(adapteables=Resource.class)
公共类MF_newMethod{
@注入
@命名(“项目”)
公共资源网页;
public List links=new ArrayList();
@施工后
受保护的void init(){
如果(pagePathMF!=null){
links=getPageList(links,pagePathMF);
}
}
公共静态列表getPageList(列表数组、资源){
if(资源!=null){
迭代器linkResource=resource.listChildren();
while(linkResource.hasNext()){
Links\u Bean lb=linkResource.next().adapto(Links\u Bean.class);
数组。添加(lb);
}
}
返回数组;
}
公共列表getLinks(){
返回链接;
}
}


请检查您是否能够获取pagePath值,如果这不是强制性的,请使用@Optional注释

请参考下面的链接

[

谢谢, Kiran

受保护的字符串初始化(){
pagePath=getPageURL(pagePath);

return pagePath;//此处缺少@可选项:

...

@Inject
@Named("items")
@Optional                      //<--- THIS
public Resource pagePathMF;

...
。。。
@注入
@命名(“项目”)

@可选//以文本形式发布html和错误消息
...

@Inject
@Named("items")
@Optional                      //<--- THIS
public Resource pagePathMF;

...