#jsf #primefaces
#jsf #primefaces
Вопрос:
Я хочу открыть диалоговое окно по щелчку строки таблицы. Это работает в первый раз (для каждой кнопки), но когда я закрываю диалоговое окно (вручную, с крестиком в углу), оно не будет отображаться в следующий раз. После того, как я обновлю страницу, она откроется снова.
Страница с таблицей:
<h:form>
<p:dataTable id="dataTable" var="ad" value="#{adsBean.ads}" widgetVar="adsTable" filteredValue="#{adsBean.filteredAds}" selectionMode="single" selection="#{adsBean.selected}" rowKey="#{ad.id}">
<p:column id="test" headerText="test">
<h:outputText value="test" />
</p:column>
<p:column>
<p:commandButton icon="ui-icon-search" value="View" action="#{adsBean.viewAd()}" />
</p:column>
</p:dataTable>
</h:form>
Мой диалог:
<?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:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:p="http://primefaces.org/ui" xmlns:ui="http://java.sun.com/jsf/facelets" >
<h:head>
</h:head>
<h:body>
dialogcontent
</h:body>
</html>
AdsBean.viewAd
public void viewAd() {
Map options = [
modal: true
,draggable: false
,resizable: false
,contentHeight: 470
,contentWidth: 620
,width: 650
,height: 500
]
RequestContext.getCurrentInstance().openDialog("fragments/index/viewAdDialog", options, null);
}
Есть мысли, как решить эту проблему?
Комментарии:
1. ., но вы можете попробовать использовать диалог Primefaces
2. @Khinsu Я использую то же самое, что вы связали. Если вы имеете в виду базовый диалог, я мог бы попробовать это, но я хочу работать с фреймворком диалога.
3.
action="#{adsBean.viewAd()}"
измените этот код на этотaction="#{adsBean.viewAd}"
4. Также добавьте
immediate="true"
в свойcommandButton
ofdataTable
и скажите мне, помогло ли это5. @anas изменил действие и добавил немедленное, но все еще не работающее.