【JSP开源代码栏目提醒】:本文主要为网学会员提供listarticle.jsp,希望对需要listarticle.jsp网友有所帮助,学习一下!
<html>
<head>
<title>显示文章列表</title>
</head>
<%@ page import="java.util.*, java.sql.*" contentType="text/html;charset=GB2312"%>
<jsp:useBean id="pool" scope="application" class="com.cn.conn.ConnPool"/>
<body>
<%//防止某些用户不进行登录,直接想进入此页面
if (session.getAttribute("username")==null){
response.sendRedirect("index.html");
}%>
<%
int PageSize=5; //一页显示的记录数
int RowCount; //记录总数
int PageCount; //总页数
int Page; //待显示页码
int i,j;
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="流行电影";
if(bid==2) boardtitle="音乐空间";
if(bid==3) boardtitle="最新图片";
if(bid==4) boardtitle="休闲社区";
if (strPage==null){
//表明在QueryString中没有page这一个参数,此时显示第一页数据
Page = 1;
} else{
//将字符串转换成整型
Page = Integer.parseInt(strPage);
if(Page<1) Page = 1;
}
//加载数据库驱动并用连接池连结数据库
String sql="";
Connection con = null;
try{
if (pool.getDriver()==null){
pool.setDriver("oracle.jdbc.driver.OracleDriver");
pool.setURL("jdbc:oracle:thin:@localhost:1521:myorc");
pool.setSize(5);
pool.initializePool();
}
con = pool.getConnection();
Statement statement = con.createStatement();
//得到发表的文章总数
sql="select count(*) from BBS_CONTENT where ReplyID=0"+" and BoardID="+bid;
ResultSet rs =statement.executeQuery(sql);
rs.next();
RowCount =rs.getInt(1);
rs.close();
PageCount = (RowCount+PageSize-1)/PageSize; //记算总页数
if(Page>PageCount) Page = PageCount; //调整待显示的页码
//设置获取数据SQL语句
sql = "select UserName,to_char(PostTime,'yyyy-MM-dd HH24:MI:SS') PostTime,BBS_CONTENT.ID,Title,ReplyNum from BBS_CONTENT,BBS_USERS where BBS_CONTENT.AuthorID=BBS_USERS.ID and BBS_CONTENT.ReplyID=0"+" and BBS_CONTENT.BoardID="+bid+" order by PostTime DESC";
rs = statement.executeQuery(sql); //执行SQL语句并取得结果集
i = (Page-1) * PageSize; //将记录指针定位到待显示页的第一条记录上
for(j=0;j<i;j++) rs.next(); %>
<table width="90%" align="center" cellpadding="3" cellspacing="1">
<tr>
<td colspan="6" bgcolor="#FFFFFF"><center><h3><%=boardtitle%></h3>
</center></td>
</tr>
<tr>
<td colspan="6" bgcolor="#FFFFFF"><a href="post.jsp?reid=0&bid=<%=bid%>&rankid=<%=rankid%>">发表文章</a>   <a href="listboard.jsp?rankid=<%=rankid%>">返回</a></td>
</tr>
<tr>
<td bgcolor="#E6E0B3" width="1%"> </td>
<td bgcolor="#E6E0B3" width="44%" align="center">主题</td>
<td bgcolor="#E6E0B3" width="10%" align="center">作者</td>
<td bgcolor="#E6E0B3" width="10%" align="center">回复</td>
<td bgcolor="#E6E0B3" width="25%" align="center">发表时间</td>
<td bgcolor="#E6E0B3" 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==5){%>
<a href="delete.jsp?id=<%=id%>&bid=<%=bid%>&reid=0&rankid=<%=rankid%>">删除</a>
<%}%></td>
</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>
<p>
<%
rs.close();
pool.releaseConnection(con);
}catch (Exception e){
out.println(e.getMessage());
}%></p>
<table width="857" border="0" align="center">
<tr>
<td width="842"><div align="right"><a href="post.jsp?reid=0&bid=<%=bid%>&rankid=<%=rankid%>">发表文章</a>   <a href="listboard.jsp?rankid=<%=rankid%>">返回</a></div></td>
</tr>
</table>
<p> </p>
</body>
</html>
上一篇:
listarti.jsp
下一篇:
科研管理杂志简介