p:commandButton或p:带有actionListener和结果的按钮?

时间:2014-10-30 08:11:36

标签: jsf java-ee primefaces actionlistener commandbutton

我使用PrimeFaces并有一个Save按钮,基本上我的页面会发送maintenanceTask,我在这里编辑它,然后按Save,它应该保存到数据库然后重定向到原始页面。我有一个有效的保存方法,但似乎无法同时启动导航和方法。

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

我现在有什么,但我尝试了很多不同的变体,包括p:button和p:commandButton,listener / actionListener,target / outcome / action等......

有什么建议吗?

感谢。

1 个答案:

答案 0 :(得分: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