1

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

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

  1. SearchCustomerDlg.xhtml
  2. SearchCustomerMb.java
  3. DialogHanglerCustomerSearch.java
  4. DAO 和服务层对象进入 Oracle 数据库并根据对话框中输入的条件搜索客户。

我有带有自己托管 bean 的父 xhtml 页面,并且我使用 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 中的参数值但显示值为 null 时。所以我假设它没有正确传递它或者我做错了什么。

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

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

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

4

1 回答 1

2

SearchCustomerDlg.xhtml 可能有:

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

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

于 2015-07-30T12:58:23.163 回答