您的位置:首页 > 其它

SSH整合之分页实现

2012-11-27 09:57 330 查看
前提:SSH整合的环境已经搭建成功,配置application.xml、struts.xm和数据库的配置都已经完成,运用的工具为MyEclipse。

步骤:1、在src下建包action,并在包中建类PageAction,类中有属性pageNumber和totalPage,如下:

public class PageAction extends ActionSupport{
private int pageNumber;
private int totalPage;
//省略了get、set方法
public String execute(){
SongManager sm  =new SongManager();
songcount= sm.getSong();
this.totalPage=songcount%10==0?songcount/10:songcount/10+1;

}
}

2、在struts.xml文件中配置,如下:

<action name="pageAction" class="action.PageAction">
<result type="redirect">
/allsongs.action?pageNumber=${pageNumber}&totalPage=${totalPage}
</result>
</action>

3、在action中建类AllSongs,有属性pageNumber,totalPage和allSongs,如下:

public class AllSongs extends ActionSupport{
private int pageNumber;
private int totalPage;
private List<Song> allsongs = new ArrayList<Song>();
//省略get、set方法
public String execute(){
SongManager sm = new SongManager();
allsongs= sm.getAllSongs();
return "success";
}
}

4、在struts.xml中配置allsongs,如下:

<action name="allsongs" class="action.AllSongs">
<resutl name="success">
/allsongs.jsp
</result>
</action>

5、在allsongs.jsp中进行页面显示,如下:

<s:iterator value="allsongs" status="st">
<tr>
<td>
<s:property value="#st.getIndex()+1+(pageNumber-1)*10"/>
</td>
<td>
<s:url id="gets" action="getsong">
<s:param name='songId'>
<s:property value='songId'/>
</s:param>
</s:url>
<s:a href="%{gets}"><s:property value="songName"/></s:a>
</td>
<td>
<s:property value="singer"/>
</td>
<td>
<s:a href="%{gets}"> 查看歌词</s:a>
</td>
<td>

<s:url id="deletes" action="deletesong">
<s:param name='songId'>
<s:property value='songId'/>
</s:param>
</s:url>
<s:a href="%{deletes}">删除</s:a>
</td>
</tr>
</s:iterator>
</table>
<table width="80%" border="1" align="center">
<tr>
<td>
<s:property value="pageNumber"/>|<s:property value="totalPage"/>
<s:url id="firstPage" action="pageAction">
<s:param name='pageNumber'>1</s:param>
</s:url>
<s:a href="%{firstPage}">首页</s:a>
<s:url id="prePage" action='pageAction'>
<s:param name='pageNumber'>
<s:property value='pageNumber-1'/>
</s:param>
</s:url>
<s:a href="%{prePage}">上一页</s:a>
<s:url id="nextPage" action='pageAction'>
<s:param name='pageNumber'>
<s:property value='pageNumber+1'/>
</s:param>
</s:url>
<s:a href="%{nextPage}">下一页</s:a>
<s:url id="lastPage" action='pageAction'>
<s:param name='pageNumber'>
<s:property value='totalPage'/>
</s:param>
</s:url>
<s:a href="%{lastPage}">末页</s:a>
</td>
</tr>


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: