我正在使用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的信息
答案 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);
%>