?? listarticle.jsp.htm
字號:
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<html>
<head>
<title>顯示文章列表</title>
</head>
<body>
<%//防止某些用戶不進行登陸,直接想進入此頁面
if (session.getAttribute("username")==null){
response.sendRedirect("login1.jsp");
}%>
<%
int PageSize=5; //一頁顯示的記錄數
int RowCount; //記錄總數
int PageCount; //總頁數
int Page; //待顯示頁碼
int i,j;
String sql;
String strPage = request.getParameter("page");
//得到當前所在討論區的編號bid
int bid=Integer.parseInt(request.getParameter("bid"));
//接收登陸用戶的身份等級信息rankid
int rankid=Integer.parseInt(request.getParameter("rankid"));
String boardtitle="";
if(bid==1) boardtitle="JSP技術";
if(bid==2) boardtitle="音樂星空";
if (strPage==null){
//表明在QueryString中沒有page這一個參數,此時顯示第一頁數據
Page = 1;
} else{
//將字符串轉換成整型
Page = Integer.parseInt(strPage);
if(Page<1) Page = 1;
}
//加載數據庫驅動并用連接池連結數據庫
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{
out.print(e);
}
String strDirPath=application.getRealPath(request.getRequestURI());
strDirPath=strDirPath.substring(0,strDirPath.lastIndexOf('\\'))+"\\";
String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+strDirPath+"forum.mdb";
Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
//得到發表的文章總數
sql="select count(*) from Articles where ReplyID=0"+" and BoardID="+bid;
ResultSet rs = stmt.executeQuery(sql);
rs.next();
RowCount = rs.getInt(1);
rs.close();
PageCount = (RowCount+PageSize-1)/PageSize; //記算總頁數
if(Page>PageCount) Page = PageCount; //調整待顯示的頁碼
//設置獲取數據SQL語句
sql = "select UserName,PostTime,Articles.ID,Title,ReplyNum from Articles,User where Articles.AuthorID=User.ID and Articles.ReplyID=0"+" and Articles.BoardID="+bid+" order by PostTime DESC";
rs = stmt.executeQuery(sql); //執行SQL語句并取得結果集
i = (Page-1) * PageSize; //將記錄指針定位到待顯示頁的第一條記錄上
for(j=0;j<i;j++) rs.next(); %>
<center><h2><%=boardtitle%></h2></center>
     <a href="post.jsp?reid=0&bid=<%=bid%>&rankid=<%=rankid%>">發表文章</a>
  <a href="listboard.jsp?rankid=<%=rankid%>">返回</a><p></p>
<table width="90%" align="center" cellpadding="3" cellspacing="1">
<tr>
<td bgcolor="#009933" width="1%"> </td>
<td bgcolor="#009933" width="44%" align="center">主題</td>
<td bgcolor="#009933" width="10%" align="center">作者</td>
<td bgcolor="#009933" width="10%" align="center">回復</td>
<td bgcolor="#009933" width="25%" align="center">發表時間</td>
<td bgcolor="#009933" width="10%" align="center">操作</td>
</tr>
<%
i = 0;
//分頁顯示,每頁五條文章信息
while(i<PageSize && rs.next()){
String id=rs.getString(3);
String title=rs.getString(4);
String posttime=rs.getString(2);
String author=rs.getString(1);
int renum=rs.getInt(5);
%>
<tr>
<td bgcolor="#efefef" width="1%" height="41"><img src="images/folder.gif"></td>
<td bgcolor="#efefef"><a href="detail.jsp?id=<%=id%>&bid=<%=bid%>&rankid=<%=rankid%>"><%=title%></a></td>
<td bgcolor="#efefef"><%=author%></td>
<td bgcolor="#efefef"><%=renum%></td>
<td bgcolor="#efefef"><%=posttime%></td>
<td bgcolor="#efefef">
<%//如果是本人的貼子,或是此版的斑竹,或是最高管理員
if (author.equals(session.getAttribute("username"))||rankid==bid||rankid==3){%>
<a href="delete.jsp?id=<%=id%>&bid=<%=bid%>&reid=0&rankid=<%=rankid%>">刪除</a>
<%}%>
</td>
</tr>
<tr>
</tr>
<% i++; } %>
<tr>
<td colspan=2 align=center>
第<%=Page%>頁  共<%=PageCount%>頁
<%if(Page<PageCount){%>
<a href="listarticle.jsp?page=<%=Page+1%>&bid=<%=bid%>&rankid=<%=rankid%>">下一頁</a>
<%}%>
<%if(Page>1){%>
<a href="listarticle.jsp?page=<%=Page-1%>&bid=<%=bid%>&rankid=<%=rankid%>">上一頁</a>
<%}%>
</td>
</tr>
</table>
<%
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -