有条件地启动JSF对话框

时间:2011-12-07 09:05:30

标签: java jsf primefaces

如何根据某些条件启动对话框?我正在使用primefaces组件。

2 个答案:

答案 0 :(得分:10)

使用3.x,RequestContext还提供了一个更简单的api,称为execute。

RequestContext.getCurrentInstance().execute("dialogue.show()");

答案 1 :(得分:6)

RequestContext提供了一个有用的API,用于将参数从json格式的JSF支持bean传递到ajax回调,如oncomplete。从服务器端执行javascript并添加要以编程方式更新的组件。

Backend Bean的代码示例:

RequestContext context = RequestContext.getCurrentInstance();

if (condition)
{
    context.addCallbackParam("someVariable", true);
}
else
{
    context.addCallbackParam("someVariable", false);
}

我们想在前端(xhtml)编写一个javaScript函数来处理这个回调,就像这样

function precautionsDialogShow(xhr, status, args)
{
    if(args.someVariable)
    {
        dialogue.show();
    }
}