吊索 - 返回具有多个参数的方法

时间:2013-07-10 03:15:40

标签: java sling

我有一个非常简单的代码片段,真的给了我一些麻烦。我有一个非常简单的方法来命中“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" : ""
}

非常感谢任何帮助。我是一个新手,所以代码片段真的很有帮助。

2 个答案:

答案 0 :(得分:1)

您使用 checkedPage 片段作为布尔值,而它们是 Page String

另外,你的方法应该返回一个字符串而你没有返回任何东西。另外,您无法通过引用传递String。

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

P.S。在Java中,语句以分号结尾

答案 1 :(得分:0)

如果没有,请尝试将代码放入try catch块。您的代码可能会遇到异常,如果您没有捕获它,您可能无法确切知道发生了什么。