2012-03-30 3 views
0

Мой h: commandLink не работает. У меня есть правило навигации в faces-config.xml и метод String doSave() в моем компоненте. Я не знаю, почему он только перезагружает страницу, не переходя в метод doSave().jsf - commandLink не вызывает метод bean

JSF-страницы

<h:form id="surveyForm"> 
    <div class="srvButton"> 
     <h:commandLink action="#{surveyBean.doSave}" value="#{msg.srvButton}" /> 
    </div> 
</h:form> 

лица-конфигурации

<navigation-rule> 
    <from-view-id>/pages/survey.xhtml</from-view-id> 
    <navigation-case> 
     <from-outcome>success</from-outcome> 
     <to-view-id>/pages/surveyFinish.xhtml</to-view-id> 
    </navigation-case> 
</navigation-rule> 

боб

public String doSave() { 

    // Kundendaten speichern 
    saveCustomer();  

    return "success"; 
} 

Я очистил содержимое в JSF-странице для лучшего обзора, но все, что вам нужно знать форму и кнопку, я думаю.

+0

Перезагрузка может быть индикатором того, что преобразование/проверка не удались. У вас есть тэг 'h: messages' в вашей форме? –

+0

Нет, у меня есть только 'h: selectOneRadio',' t: inputText' и один тег 'h: dataTable' в форме. У меня есть аналогичная веб-страница, и там она работает, но я не могу найти различия. –

+0

Затем попробуйте добавить 'h: messages'. Он отображает все ошибки проверки, и вы получите больше информации о том, что происходит. –

ответ

0

Я только что решил свою проблему. Я заменил все свои теги c:if тегами ui:fragment, и это сработало! Может быть, это может вас заинтересовать c:foreach vs ui:repeat Спасибо @matthandy за его усилие.