2014-10-30 4 views
0

Я использую PrimeFaces и имеет кнопку «Сохранить», в основном, на мою страницу отправляется техобслуживание, которое я редактирую здесь, а затем нажмите «Сохранить», и она должна быть сохранена в базе данных и затем перенаправлена ​​на исходную страницу. У меня есть рабочий метод Save, но, похоже, он не может заставить как навигацию, так и метод срабатывать.p: commandButton или p: кнопка с actionListener и результатом?

<p:commandButton value="#{message.commonButtonSave}" 
     title="#{message.commonSaveTooltip}" 
     rendered="#{maintenanceTaskEnquiryBean.screenMode == 'editTasks'}"   
     disabled="#{maintenanceTaskEnquiryBean.outstandingEditCount != 0}" 
     action="/definemaintenance/MaintenanceTasksActivity" 
     actionListener="#{maintenanceTaskEnquiryBean.save}" >   
    </p:commandButton> 

Существует то, что я на минуту, но я попробовал много различных вариаций на эту числе р: кнопки и р: CommandButton, слушатель/ActionListener, цель/результат/действие и т.д. ...

Любые предложения, пожалуйста?

Спасибо.

ответ

1

Если вы хотите выполнить действие и затем перейти к нему, используйте атрибут action и верните правило навигации.

<p:commandButton value="#{message.commonButtonSave}" 
    title="#{message.commonSaveTooltip}" 
    rendered="#{maintenanceTaskEnquiryBean.screenMode == 'editTasks'}"   
    disabled="#{maintenanceTaskEnquiryBean.outstandingEditCount != 0}" 
    action="#{maintenanceTaskEnquiryBean.save}">   
</p:commandButton> 

Метод save() будет выглядеть как этот

public String save() { 
    // perform whatever you need to, and then 
    return "<some navigataion rule>"; 
} 

возвращенная строка должна открыть нужную страницу /definemaintenance/MaintenanceTasksActivity.

+0

Это имеет смысл. Есть ли где-нибудь, где вы можете направить меня, чтобы узнать, как написать правило навигации? – hello123

+0

@ hello123 [Этот учебник] (http://www.tutorialspoint.com/jsf/jsf_page_navigation.htm), похоже, достаточно хорошо описывает навигацию JSF. –

+0

Как ни странно, это учебник, который я читал сегодня днем. Когда я использую return = «MaintenanceTasksActivity», ничего не происходит, хотя я также пробовал/определял обслуживание/MaintenanceTasksActivity и definemaintenance/MaintenanceTasksActivity без везения. Какие-либо предложения? – hello123

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