1. 程式人生 > >JSP將後臺返回的資料顯示並分頁

JSP將後臺返回的資料顯示並分頁

<span style="font-size:18px;"><%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@page import="java.util.Iterator" import="java.util.List" 
	import="com.bbs.pojo.*" import="org.springframework.context.ApplicationContext" import="org.springframework.context.support.ClassPathXmlApplicationContext"
	%>

<%!
	public static final int PAGESIZE = 20;    //每頁行數
	int pageCount;
	int curPage = 1;
%>
<%
	//一頁放20個
	try{
		List<Topic> topiclist = (List<Topic>)session.getAttribute("topiclist");
		//out.print(((Topic)topiclist.get(1)).getContent());
		
		//記錄總行數
		int size = topiclist.size();
		
		//總頁數
		pageCount = (size%PAGESIZE==0)?(size/PAGESIZE):(size/PAGESIZE+1);
		
		//獲取當前頁數
		String tmp = request.getParameter("curPage");
		
		//初始化頁數
		if(tmp==null){
			tmp="1";
		}
		//out.print(tmp);
		curPage = Integer.parseInt(tmp);
		//調整頁數
		if(curPage>=pageCount){    
			curPage = pageCount;
		} 
	
		int count = 0;
		Iterator<Topic> it = topiclist.iterator();
		
		//out.print("記錄總數:"+topiclist.size()+"<br>");
		//將記錄指標定位到待顯示頁的第一條記錄上
		ApplicationContext act = new ClassPathXmlApplicationContext("applicationContext.xml");
		UserDAO ud =(UserDAO)act.getBean("UserDAO");
		ModuleDAO md =(ModuleDAO)act.getBean("ModuleDAO");
		while(it.hasNext()){
			//用於定位每頁列印開始位置
			for(int i=1;i <= topiclist.size();i++){
				if(i == (curPage-1)*PAGESIZE+1){
					//out.print((curPage-1)*PAGESIZE+1);
					break;
				}
				it.next();
			}
			
			Topic topic=(Topic)it.next();
			User u=ud.findById(topic.getUser().getId());
			Module module=md.findById(topic.getModule().getId());
			count++;
			%>
		<div class="templatemo-content-widget white-bg templatemo-overflow-hidden" >
             <table style="width: 900px">
                
               
			<tr>
				<td rowspan="2"><img width="110px" height="110px" src="<%=u.getHeadImg() %>"></td>
				<td colspan="3"><span style="width: 500px;height: 60px"><a href="findPostAction?topicId=<%=topic.getId()%>" style="font-size: 40px;color: red"><%=topic.getContent() %></a></span></td>
				<td><p><span>瀏覽次數:<font color="orange" size="15px"><%=topic.getPostCount() %></font></span></p></td>
			</tr>
			
			<tr>
				<td><a href="findTopicByModuleAction?moduleId=<%=module.getId()%>"><%=module.getName() %></a></td>
				<td><B><span><%=u.getUsername() %></span></B></td>
				<td><p align="center"><span><%=topic.getCreateTime() %></span></p></td>
				<td><p><span>回覆次數:<font color="orange" size="15px"><%=topic.getReplyCount() %></font></span></p></td>			
			</tr>
		
			 
		     </table>          
        </div>
		
			<%
		}
	}
	catch(Exception e){
		out.print("加載出錯!");
	}
%>

<center>
<a href = "index.jsp?curPage=1" >首頁</a>
<a href = "index.jsp?curPage=<%=curPage-1%>" >上一頁</a>
<a href = "index.jsp?curPage=<%=curPage+1%>" >下一頁</a>
<a href = "index.jsp?curPage=<%=pageCount%>" >尾頁</a>
第<%=curPage%>頁/共<%=pageCount%>頁
</center></span>