繁体   English   中英

jsf primefaces过滤分页范围

[英]jsf primefaces filtering pagination scope

我正在过滤我的列并使用了分页功能,所以我将我的backing bean会话设置为作用域,因为我正在从db加载数据,所以我也将其设置为会话作用域n不想重新加载它。 我正在使用查看按钮来选择一列,并转发到新页面以显示更多信息,并且正在使用后退按钮返回到主页。

现在我的问题是,当我过滤数据并单击查看按钮时,它向我显示数据,但是当我单击后退按钮n仍返回到主页时,数据仍在过滤,我知道这是正在发生的问题,因为我已经使用过会话范围n过滤持续存在。 这样做的问题是,即使认为数据已被过滤,它也不会在其进行过滤的过滤单元中显示该值。 要删除过滤,我必须在过滤单元中输入一个值并将其删除,以取回所有数据。 我觉得也许我有一个设计缺陷,但无法弄清楚如何解决它。

程式码片段

主页

 <p:dataTable var="curridea" value="#{userIdea.ideas}"   filteredValue="#{userIdea.filteredideas}"

    paginator="true" rows="10"  
                 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                 rowsPerPageTemplate="5,10,15">


        <p:column headerText="Employee Name"  filterBy="empname"   

                filterMatchMode="contains">  
            <h:outputText value="#{curridea.empname}" />  
        </p:column> 
 <p:column headerText="View">  
            <h:commandButton value="view" action="#{userIdea.actionController}"  >
            <f:setPropertyActionListener value="#{curridea}" target="#{userIdea.selectedidea}" />  

            </h:commandButton> 
        </p:column>  

查看页面

<h1 class="title">Your idea Here</h1>
<h:form>
<h:outputText value="#{userIdea.selectedidea.idea}" escape="false" />

<h:commandButton value="back" action="#{userIdea.returnController}"  >


            </h:commandButton> 

用户理念

private ArrayList<Idea> filteredideas;

    public ArrayList<Idea> getFilteredideas() {
        return filteredideas;
    }

    public void setFilteredideas(ArrayList<Idea> filteredideas) {
        this.filteredideas = filteredideas;
    }

更新:我通过将视图页面后退按钮中的过滤后的想法设置为空解决了问题,但请让我知道是否有更好的解决方案,但我没有看到

<h:commandButton value="back" action="#{userIdea.returnController}"  >

             <f:setPropertyActionListener value="" target="#{userIdea.filteredideas}" />   
            </h:commandButton> 

我通过将“查看”页面“后退”按钮中的过滤后的主意设置为空解决了问题,但请让我知道是否有更好的解决方案,但我没有看到

<h:commandButton value="back" action="#{userIdea.returnController}"  >

             <f:setPropertyActionListener value="" target="#{userIdea.filteredideas}" />   
            </h:commandButton> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM