这只是一个简单的Primefaces lightBox,我想在其中使用commandLinks。不幸的是,当我点击一个commandLink时,它就会关闭。有没有办法让lightBox保持打开状态?
下面是我的代码的示例:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui" template="template.xhtml">
<ui:define name="content">
<p:lightBox>
<h:outputLink value="#">
<h:outputText value="open lightbox" />
</h:outputLink>
<f:facet name="inline">
<h:form>
<h:commandLink>
commandLink
</h:commandLink>
</h:form>
</f:facet>
</p:lightBox>
</ui:define>
</ui:composition>发布于 2012-10-24 21:08:27
使用ajax (异步)请求而不是同步请求:
<h:commandLink ...>
<f:ajax ... />
</h:commandLink>或者,因为您已经在使用PrimeFaces,所以只需使用<p:commandLink> (默认情况下它已经使用了ajax):
<p:commandLink ... />使用ajax时,默认情况下不会执行响应的新页面替换(这基本上会将所有内容“重置”为默认值)。在使用<f:ajax>的情况下,您可以通过render属性来判断应该在客户端和<p:commandLink>中通过update属性更新组件树的哪些部分。例如,如果您只想呈现/更新父窗体,请使用@form。例如。
<p:commandLink ... update="@form" />https://stackoverflow.com/questions/13048637
复制相似问题