我有一个JSF页面。该框架是PrimeFaces。这些层像顶栏、侧边栏、主布局一样构建。侧边栏和顶栏包含一个菜单。两个菜单都在<form>
:中
<p:commandLink action="#{bean.modify}" ajax="false">
<span>Modify</span>
</p:commandLink>
主布局还包含另一种形式的按钮形式t按钮包含一个confirmDialog(:
<p:commandLink id="close" action="#{bean.close}" ajax="false" update="form">
<span>Close</span>
<p:confirm header="Lezárás" message="Are you sure close it?" icon="ui-icon-alert"/>
</p:commandLink>
如果我使用ajax=true,只需单击主布局中的按钮,confirmDialog就不会出现。如果我使用ajax=false,confirmationDialog会出现,但页面会在短时间内崩溃。首先,页面将在没有css格式的情况下显示,稍后将验证css。
为什么会这样?这七个电话有什么区别?在一种情况下,为什么这会渲染渲染;在另一种情况中,为什么confirmDialogs不会出现?
更新:
我读过这个链接,但我仍然不明白它为什么有效。我可能把问题写错了。
有一个JSF页面:list.xhtml。它是一个commandLink
<p:commandLink action="#{bean.modify}" ajax="false">
<span>Modify</span>
</p:commandLink>
支持豆:
public String modify(){
return "edit.xhtml";
}
edit.xhtml有一个带有confirmDialog:的按钮
<p:commandLink id="close" action="#{bean.close}" ajax="false" update="form">
<span>Close</span>
<p:confirm header="Lezárás" message="Are you sure close it?" icon="ui-icon-alert"/>
</p:commandLink>
如果我用ajax=true调用edit.html和list.xhtm,那么confirmDialog可以工作,但页面呈现速度很慢。
如果我调用ajax=false,那么渲染很快,但confirmationDialog不起作用。
我不明白,因为这是另一个页面,所以不仅仅是它的一部分更新了,而是整个页面
已解决
PrimeFaces中有一个错误。
https://github.com/primefaces/primefaces/commit/9f86efba16ead70f9db1194744d291a7f64acefb
我已经纠正了源代码版本6.2中的错误,从那以后一直运行良好。