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

【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 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
    • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
    • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
    • ¥20 matlab yalmip kkt 双层优化问题
    • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
    • ¥88 实在没有想法,需要个思路
    • ¥15 MATLAB报错输入参数太多
    • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
    • ¥15 有赏,i卡绘世画不出
    • ¥15 如何用stata画出文献中常见的安慰剂检验图