马行空牛耕田 2015-06-11 01:49 采纳率: 0%
浏览 792

【JSF/PrimeFaces】查询条件与查询结果两个panel隐藏与展示的问题

【环境】
JSF2.2+PrimeFaces5
【需求】
查询功能实现:

  1. 用户进入查询界面,输入查询条件(大概有十几个,占了半个页面)
  2. 点击“查询”按钮后,进入查询结果页面
  3. 查询结果页面有一个“新查询”的按钮,点击可以清空之前的查询条件,回到查询页面

【实现】
我用了一个页面来展示查询条件和查询结果,点击查询按钮时,隐藏查询条件panel,显示查询结果panel;点击“新查询”按钮时,隐藏查询结果panel,显示查询条件panel

【代码】
xhtml:

        <p:panel id="searchFormPanel" binding="#{basicSearchUi.searchFormPanel}">
        <h:form id="searchForm" method="post">
          <p:commandButton value="查询" actionListener="#{basicSearchUi.doBasicSearch}" update=":#{p:component('resultForm')} :#p:component('searchFormPanel')}"></p:commandButton>
        </p:form>
...

        <p:panel id="resultFormPanel" binding="#{basicSearchUi.resultFormPanel}">
        <h:form id="resultForm" method="post">
          <p:commandButton value="新查询" action="#basicSearchUi.newSearch()}"></p:commandButton>
        </h:form>  

java(backingbean):

    Panel searchFormPanel;
    Panel resultFormPanel;
    public void doBasicSearch()
    {
        ...
        searchFormPanel.setVisible(false);
        resultFormPanel.setVisible(true);
        ...
    }

    public void newSearch()
    {
        if(searchResult!=null)
            searchResult.clear();

        searchCriteria = new BasicSearchVO();       

        searchFormPanel.setVisible(true);
        searchFormPanel.setRendered(true);

        resultFormPanel.setVisible(false);
    }    

【问题】
当点击“查询”时,查询条件panel能正确的隐藏,查询结果panel显示查询到的记录;但是,当点击“新查询”时,查询结果panel隐藏了,而查询条件panel却无法显现! 直接查看在chrome里查看html,发现查询条件panel根本就没有生成任何html代码。

【疑惑1】
visible=false的含义跟rendered=false的含义应该是不同的,前者应该生成html而后者不生成
【疑惑2】
我是jsf新手,请问这样处理查询条件、查询结果的姿势对吗(一个页面搞定)?还是说需要拆分成两个页面?因为查询结果有分页,而我需要一次查出所有记录,方便分页展示和排序,一个页面貌似更方便!

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 Pwm双极模式H桥驱动控制电机
    • ¥30 这是哪个作者做的宝宝起名网站
    • ¥60 版本过低apk如何修改可以兼容新的安卓系统
    • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
    • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
    • ¥50 有数据,怎么用matlab求全要素生产率
    • ¥15 TI的insta-spin例程
    • ¥15 完成下列问题完成下列问题
    • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
    • ¥15 YoloV5 第三方库的版本对照问题