0

我有一个非常简单的代码片段,确实给我带来了一些麻烦。我有一个非常简单的方法,它点击“URL”参数,当有一个值时它被返回。当它达到“片段”参数时,它不会返回任何东西,而且我一生都无法弄清楚为什么我没有收到任何错误,我只是得到一个空字符串。

url = properties.get("url", "")
fragment = properties.get("fragment", "")
Page checkedPage = resource.resourceResolver.getResource(url).adaptTo(Page)

url = chatOverlay ? headerURL(checkedPage, url, fragment) : ""

private static String headerURL(Page checkedPage, String url, String fragment) {
    url += (checkedPage) ? ".html" : ""
    url += (fragment) ? "#$fragment" : ""
}

任何帮助是极大的赞赏。我是新手,所以代码片段真的很有帮助。

4

2 回答 2

1

您将 checkedPagefragment用作布尔值,而它们是PageString

另外,您的方法应该返回一个字符串,并且您没有返回任何内容。另外,您不能通过引用传递字符串。

private static String headerURL(Page checkedPage, String url, String fragment) {
    url += (checkedPage!=null) ? ".html" : "";
    url += (!"".equals(fragment)) ? "#$fragment" : "";
    return url;
}

PS在Java中,语句以分号结尾

于 2013-07-10T13:22:37.930 回答
0

如果没有,请尝试将您的代码放入 try catch 块中。您的代码可能遇到异常,如果您没有捕捉到它,您可能不知道到底发生了什么。

于 2013-07-10T03:21:23.743 回答