【发布时间】:2017-05-07 04:40:39
【问题描述】:
我想要实现的是什么?
单击加载按钮后,如果设置了任何一个文本字段,则结果“手风琴面板”过滤器应该展开。
单击加载按钮后,如果未设置所有文本字段,则结果“手风琴面板”过滤器应折叠。
我浏览了手风琴面板 primefaces 文档,但没有发现它有帮助。 http://www.primefaces.org/docs/vdl/3.5/primefaces-p/accordionPanel.html
我已经完成了之前在 stackoverflow 上提出的问题,这个问题的答案也不能满足我达到我要求的结果。
Expanding Accordion Panel in PrimeFaces with a RadioButton click
托管豆
包 com.pk.test; 导入 javax.faces.bean.ManagedBean; @ManagedBean(name="testBean") 公共类 AccordionTestBean { 私有字符串名称; 私人弦乐学期; 私有字符串年龄; 私有布尔 checkNameTextField = false; 公共无效保存(){ System.out.println("如果设置了表单的任何一个字段,则关闭过滤器"); System.out.println("名称:"+getName()); System.out.println("年龄:"+getAge()); System.out.println("学期:"+getSemester()); 如果(getName()!= null){ setCheckNameTextField(true); //如果名称文本字段设置为一个值,保存点击过滤器将不会折叠或关闭 } 别的 setCheckNameTextField(假); //如果名称文本字段设置为一个值,保存点击过滤器将折叠 } 公共字符串 getName() { 返回名称; } 公共无效集合名称(字符串名称){ this.name = 名称; } 公共字符串 getSemester() { 返回学期; } 公共无效setSemester(字符串学期){ this.semester = 学期; } 公共字符串 getAge() { 返回年龄; } 公共无效setAge(字符串年龄){ this.age = 年龄; } 公共布尔 getCheckNameTextField() { 返回检查名称文本字段; } 公共无效 setCheckNameTextField(布尔 checkNameTextField){ this.checkNameTextField = checkNameTextField; } }前端文件
<!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:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<body>
<h:form id="formId">
<p:accordionPanel id="accordion" cache="false" activeIndex="-1"
style="margin-bottom:20px;width:330px;" widgetVar="acc">
<p:ajax event="tabClose" listener="#{testBean.checkNameTextField}" />
<p:tab title="Filter:"
titleStyle="width:330px;background-color:#DAEDF4">
<h:panelGrid columns="2">
<h:outputLabel value="Name" />
<h:inputText value="#{testBean.name}" />
<h:outputLabel value="Age" />
<h:inputText value="#{testBean.age}" />
<h:outputLabel value="Semester" />
<h:inputText value="#{testBean.semester}" />
</h:panelGrid>
<p:commandButton icon="ui-icon-save" value="Save"
action="#{testBean.save}"
onclick="PF('formId:accordion').hide();" />
</p:tab>
</p:accordionPanel>
</h:form>
</body>
</html>
【问题讨论】:
标签: primefaces jsf-2.2