我有一个带有 javaee 和 primefaces 的网络,并且我已将 bootstrap 集成到该项目中。 我知道使用 p:dialog 我可以执行与引导模式窗口相同的行为,但我实现了 adminlte 插件,并且 p:dialog 不显示为模式窗口。
引导模式窗口工作正常,但是当它位于表单内时,它会重新加载页面,就好像它正在向服务器发送数据一样,我不希望这样。 我怎样才能让它关闭模态框就这样?
我尝试过使用dispose()、hide(),但之后就打不开了。
<h:form id="frm_Dialogo">
<div class="modal fade show" id="dlg_Dialogo1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header" style="background:#E1EFF8">
<p:outputLabel value="#{ogeneralvista.tituloModal}" styleClass="tituloLetra" style="font-size:16px;"></p:outputLabel>
<button class="btn-close" data-dismiss="modal"></button>
<h:commandLink onclick="return cerrarModal();" styleClass="btn-close" />
<p:commandButton styleClass="btn-close" action="#{ogeneralvista.cierraEjecutaConsulta()}" update="frm_Dialogo"/>
</div>
</div>
</div>
</div>
</h:form>
...但是我实现了 adminlte 插件,并且
没有显示为模式窗口...p:dialog
您始终可以将
ApplicationFactory
与 ApplicationWrapper
一起使用,并覆盖 createComponent
,例如:
@Override
public UIComponent createComponent(FacesContext context, String componentType, String rendererType) {
UIComponent component = super.createComponent(context, componentType, rendererType);
if (component instanceof Dialog) {
Dialog dialog = (Dialog) component;
dialog.setModal(true);
}
return component;
}
这会将所有对话框创建为模态对话框。
参见https://primefaces.github.io/primefaces/13_0_0/#/core/globalattributes