目前我有一个带有JSF的开发前端,它加载了太多的数据,并不是用户需要的所有情况,这个提到的数据除以标签,我需要通过点击展开面板动态呈现的信息:
<p:panel header="#{myBean.someStringTittle}"
id="information1" toggleable="true" rendered="true" collapsed="true">
<h:panelGrid>
<h:outputText
value="#{mybean.someVale]}" />
<p:inputText readonly="true">
......
......
<p:panel>
在许多情况下,用户不需要查看该面板内的信息,该属性已折叠=&#34; true&#34;加载面板关闭,但面板内的信息已呈现,我只需要在用户展开面板时才呈现该信息。
我怎么能这样做?
答案 0 :(得分:0)
您可能想尝试为'tabChange'和/或'tabClose'事件编写事件处理程序。根据激活的选项卡,将内容动态加载到辅助bean中。然后当网页刷新时,它会显示内容。
这是手风琴组的Primefaces展示案例的“Change Event”示例。
http://www.primefaces.org/showcase/ui/panel/accordionPanel.xhtml
答案 1 :(得分:0)
我认为你可以使用只有一个标签的p:accordionPanel来做到这一点:
<p:accordionPanel dynamic="true" cache="true">
<p:tab title="Godfather Part I">
<h:panelGrid columns="2" cellpadding="10">
<p:graphicImage name="demo/images/godfather/godfather1.jpg" />
<h:outputText
value="The story begins as Don Vito Corleone..." />
</h:panelGrid>
</p:tab>
</p:accordionPanel>
或在现有panel
上加p:ajax
<p:ajax event="toggle" listener="#{myBean.onToggle}" update="information1" />
带
<h:panelGrid rendered="#{myBean.boole}">
并在onToggle()中将boole设置为true。