2013-04-22 96 views
0

我对Java很新,所以请耐心等待。我不能为我的生活弄清楚为什么我得到 a 找不到符号错误resourceResolver.resolve。当它在上面的线上时,我正在定义变量。 也许这是简单的我很想念,但我无法弄清楚这一点,我觉得我已经盯着这种方式很久。Java在变量上找不到符号

private static final String ROOTCHILD = "rootChild"; 

public void setResource(Resource resource) { 
    this.resource = resource; 
} 

public void setProperties(ValueMap properties) { 
    this.properties = properties; 
} 

public Page getRootPage() { 
    ResourceResolver resourceResolver = getResource().getResourceResolver(); 
    return (this.properties != null) 
     ? resourceResolver.resolve(
      properties.get(ROOTCHILD,currentPage.getPath())).adaptTo(Page.class) 
     : null; 
} 
+3

就放弃显而易见的:是类'ResourceResolver'进口? – Barranka 2013-04-22 19:07:36

+0

你必须定义变量wihch指this.resource。 – 2013-04-22 19:07:48

+0

@Barranka谢谢你的回复,它正在被导入。 – 2013-04-22 19:09:12

回答

0

在这里,我的猜测(从来没有与吊带的工作,并没有使用Java进行了一会儿):

我认为这个问题是您初始化ValueMap properties,以便它不包含String S或HttpServletRequest s,但别的。 .resolve()方法只接受StringHttpServletRequest。 (或两个参数,但你只传递一个,所以一个不能这样)。没有.resolve()方法找到接受你尝试给它的参数,所以那个符号没有找到

0

要看到真正的错误,重写代码和编译:

public Page getRootPage() { 
    if(properties == null) { 
     return null; 
    } 
    YYYYYY resource = getResource(); 
    ResourceResolver resourceResolver = resource.getResourceResolver(); 
    String path = currentPage.getPath(); 
    String rootChild = properties.get(ROOTCHILD, path); 
    XXXXXX rc = resourceResolver.resolve(rootChild); 
    return rc.adaptTo(Page.class); 
}