Primefaces对话框架

时间:2015-06-26 01:45:59

标签: java primefaces dialog dialog-framework

我正在创建一个对话框,然后可以在多个父屏幕上使用。 (即客户搜索)。

对于客户搜索对话框,我创建了以下对象。

  1. SearchCustomerDlg.xhtml
  2. SearchCustomerMb.java
  3. DialogHanglerCustomerSearch.java
  4. DAO和服务层对象,它们进入Oracle数据库并根据在对话框中输入的条件搜索客户。
  5. 我的父xhtml页面有自己的托管bean,我使用DialogHandlerCustomerSearch来传递搜索对话框的输出。

    但是,我还想将输入参数传递给对话框,以便对话框可以读取值并在打开时预设一些搜索条件。

    有人可以帮我吗?我知道在请求对话框时有一个params字段。

        Map<String, List<String>> params = new HashMap<String, List<String>>();
        List<String> values = new ArrayList<String>();
        values.add("test");
        params.put("bookName", values);  
    RequestContext.getCurrentInstance().openDialog("/ui/cor/SearchCustomerDlg", dialogConfig, params);
    

    但是,当我尝试读取SearchCustomerMb中的param值但显示值为null时。所以我假设它没有正确传递它或者我做错了。

    另外,我如何直接从PlDigitalSalesrpt.xhtml传递参数,然后调用dialogHandlerCustomerSearch ???

    请帮助......我看了下面的例子但是没有用。

    http://www.javacodegeeks.com/2015/01/primefaces-opening-external-pages-in-dynamically-generated-dialog.html

1 个答案:

答案 0 :(得分:2)

SearchCustomerDlg.xhtml可能有:

<f:metadata>
    <f:viewParam name="bookName" value="#{searchCustomerMb.bookName}"/>
</f:metadata>

然后在SearchCustomerMb.java中需要getBookName和setBookName