📄 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 + -