Saya baru mengenal JSF dan Primefaces, saya perlu membuka dialog yang berisi semacam informasi hasil pencarian setiap kali tombol pencarian diklik. Dialog yang terbuka sebelumnya harus selalu ditampilkan kecuali pengguna menutupnya, sehingga saya dapat membuka beberapa dialog.
Saya menggunakan teknologi di bawah ini, dan masalah saya adalah saya hanya ingin menggunakan satu template xhtml untuk dialog yang saya panggil menggunakan kerangka dialog Primefaces. Adakah yang tahu bagaimana mencapai apa yang saya inginkan?
- JBoss EAP 6.2
- Wajah Utama 4.0
- JSF 2.2
Saya memiliki contoh kode yang saya coba kerjakan sebagai POC di bawah ini. Ini berfungsi dengan baik. Saya dapat menampilkan dialog pertama, tetapi saya tidak lagi tahu cara membuka dialog lain ketika tombol pencarian diklik lagi.
rumah.xhtml
<div id="searchBtnDiv">
<p:commandButton id="queryNetworkElem" value="Search" ajax="true" actionListener="#{searchBean.querySubmit}" />
<p:commandButton id="advanceQuery" value="Advance Search" ajax="true" actionListener="#{searchBean.querySubmit}" />
</div>
SearchBean.java
@ManagedBean(name = "searchBean")
public class SearchBean{
...
public void generateSearchDialog(String searchParam) throws IOException{
System.out.println("opening dialog");
testMessage = "testing ";
RequestContext.getCurrentInstance().openDialog("test");
}
...
}
tes.xhtml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
<h:head>
</h:head>
<h:body>
<h1><p:outputLabel value="#{searchBean.testMessage}"/></h1>
<p:commandButton value="test" />
</h:body>
</html>