Основы Диалога Primefaces
Я создаю диалоговое окно, которое затем можно использовать на нескольких родительских экранах. (т. е. поиск клиентов).
для диалогового окна поиска клиентов я создал следующие объекты.
- SearchCustomerDlg.xhtml
- SearchCustomerMb.java
- DialogHanglerCustomerSearch.java
- Объекты уровня DAO и Service, которые идут в базу данных Oracle и ищут клиентов на основе критериев, введенных в диалоговом окне.
У меня есть родительская страница xhtml со своим собственным управляемым компонентом, и я использую DialogHandlerCustomerSearch, чтобы передать выходные данные диалогового окна поиска.
Однако я также хочу передать входной параметр в диалоговое окно, чтобы диалоговое окно могло считывать значения и задавать некоторые критерии поиска при его открытии.
Может кто-нибудь может мне помочь, пожалуйста? Я знаю, что при запросе диалогового окна есть поле параметров.
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, но это показывает значение как ноль. Поэтому я предполагаю, что он не проходит правильно или я делаю что-то не так.
Кроме того, как я могу передать параметр непосредственно из PlDigitalSalesrpt.xhtml, который затем вызывает dialogHandlerCustomerSearch???
Пожалуйста, помогите... Я посмотрел на приведенный ниже пример, но это не сработало.
1 ответ
SearchCustomerDlg.xhtml может иметь:
<f:metadata>
<f:viewParam name="bookName" value="#{searchCustomerMb.bookName}"/>
</f:metadata>
а затем в SearchCustomerMb.java вам нужно получить getBookName и установить BookName