2013-07-10 20 views
0

我有一個非常簡單的代碼片段,這真的給了我一些麻煩。我有一個非常簡單的方法,它會觸發「URL」參數,並在有值時返回。當它碰到「fragment」參數時,它不會返回任何東西,而且對於我的生活而言,我無法弄清楚爲什麼我沒有得到任何錯誤,我只是得到一個空字符串。吊索 - 返回多個參數的方法

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" : "" 
} 

任何幫助,非常感謝。我是一個新手,所以代碼片段真的很有幫助。

回答

1

您正在使用checkedPage和布爾片段,而他們是字符串

加上你的方法應該返回一個字符串,你不會返回任何東西。另外,您不能通過引用傳遞字符串。

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

P.S.在Java中,聲明以分號結尾

0

嘗試把你的代碼放在try catch塊中,如果沒有的話。你的代碼可能會遇到異常,如果你沒有捕獲它,你可能不知道到底發生了什麼。