2013-07-10 2 views
0

У меня есть довольно простой фрагмент кода, который действительно вызывает некоторые проблемы. У меня очень простой метод, который попадает в параметр «URL», и когда есть значение, оно возвращается. Когда он попадает в параметр «фрагмент», он ничего не возвращает, и для меня жизнь не может понять, почему у меня нет ошибок, я просто получаю пустую строку.Sling - Возврат метода с несколькими параметрами

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 и фрагмент как булевы, в то время как они являются Page и Строка.

Плюс ваш метод должен возвращать строку, и вы ничего не возвращаете. Кроме того, вы не можете передать строку по ссылке.

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

P.S. В Java оператор заканчивается точкой с запятой

0

Попробуйте ввести код в блок catch catch, если нет. Ваш код может попасть в исключение, и если вы его не поймаете, возможно, вы не знаете точно, что происходит.

Смежные вопросы