【问题标题】:Launching JSF dialog conditionally有条件地启动 JSF 对话框
【发布时间】:2011-12-07 09:05:30
【问题描述】:

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

【问题讨论】:

    标签: java jsf primefaces


    【解决方案1】:

    在 3.x 中,RequestContext 还提供了一个更简单的 API,称为 execute。

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

    【讨论】:

    • 所以使用 PF 5 这就像:RequestContext.getCurrentInstance().execute("PF('dialogName').show()"); ?
    【解决方案2】:

    RequestContext 提供了一个有用的 API,可以将参数从 JSF 支持 bean 以 json 格式传递给 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();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-17
      • 1970-01-01
      • 2021-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多