Java在变量上找不到符号
问题描述:
我对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;
}
答
在这里,我的猜测(从来没有与吊带的工作,并没有使用Java进行了一会儿):
我认为这个问题是您初始化ValueMap properties
,以便它不包含String
S或HttpServletRequest
s,但别的。 .resolve()
方法只接受String
或HttpServletRequest
。 (或两个参数,但你只传递一个,所以一个不能这样)。没有.resolve()
方法找到接受你尝试给它的参数,所以那个符号没有找到!
答
要看到真正的错误,重写代码和编译:
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);
}
就放弃显而易见的:是类'ResourceResolver'进口? – Barranka 2013-04-22 19:07:36
你必须定义变量wihch指this.resource。 – 2013-04-22 19:07:48
@Barranka谢谢你的回复,它正在被导入。 – 2013-04-22 19:09:12