如何在struts2中使用display标签显示分页

时间:2012-01-24 20:54:50

标签: struts2

我正在使用struts2和hibernate,现在我想知道如何在struts2中使用display标签。

我有一个动作类CityList.java,它从数据库中获取所有城市。

这是我的行动页面CityList.java

package com.actions;

import com.opensymphony.xwork2.ActionSupport;
import com.zoondia.hbmObj.City;
import com.zoondia.Dao.CityDao;
import java.util.List;

public class CityList extends ActionSupport { 
    private List<City> cityList;
    public String getAllCities(){  
        cityList = CityDao.getInstance().getAllcity();
        return SUCCESS;
    }

    public List<City> getCityList() {
        return cityList;
    }

    public void setCityList(List<City> cityList) {
        this.cityList = cityList;
    }

}

我可以使用struts迭代器标记列出所有城市,但我需要使用显示标记显示分页。

我的问题是变量我得到了所有的城市细节,但应该如何将它作为分页。

我用

尝试过
<display:table name="sessionScope.CityList.cityList" >

        </display:table>
在JSP页面中

但它没有显示任何结果。而是显示错误消息。我的问题是我从操作页面获取变量“cityList”中的所有城市详细信息,并且我可以使用迭代器标记显示所有数据。但是我怎样才能在显示标签内显示这些数据。


以下是错误消息

java.lang.NoClassDefFoundError: org/apache/commons/lang/UnhandledException

也是我使用Struts2的信息

1 个答案:

答案 0 :(得分:1)

我的第一个问题是它显示的错误信息,因为错误信息本身就是自解释的。

根据您的输入,它没有显示任何结果,因此请确保您从ORM层获取数据并在操作类中检查其大小和值以进行测试。 要在Display标签中使用分页,您只需传递pagesize属性。当设置了pagesize时,displaytag库会将对象列表分成不同的页面。页面链接将添加到底部。

<display:table list="cityList" pagesize="4" requestURI="cityListAction">
   // any display show logic goes here
</display:table>

在您的情况下,您正在使用sessionScope,要求使用会话

设置列表
<%
    session.setAttribute( "cityList", fetch list from action hee);
%>