📄 list.jsp
字号:
<HTML>
<BODY>
<%@ page import="java.util.*, java.sql.*"
contentType="text/html;charset=GB2312" %>
<%if (session.getAttribute("Name")==null){
response.sendRedirect("login.html");
}%>
<%int PageSize=5; //一页显示的记录数
int RowCount; //记录总数
int PageCount; //总页数
int Page; //待显示页码
int i,j;
String strPage = request.getParameter("page");
String id = request.getParameter("id");
String type=request.getParameter("type");
if (type==null) {type="article";}
if (strPage==null){
//表明在QueryString中没有page这一个参数,此时显示第一页数据
Page = 1;
} else{
//将字符串转换成整型
Page = Integer.parseInt(strPage);
if(Page<1) Page = 1;
}%>
<jsp:useBean id="pool" scope="application" class="chapter10.ConnPool"/>
<%@ include file="conn.jsp"%>
<% //判断是否为管理员
sql="select IsAdmin from Users where name='"+session.getAttribute("Name") + "'";
ResultSet rs=statement.executeQuery(sql);
rs.next();
boolean IsAdmin=rs.getBoolean(1);
rs.close();
if (type.equals("re")){
sql="select count(*) from ReArticles where ArticleId="+id;
}else{
sql="select count(*) from Articles";
}
rs =statement.executeQuery(sql);
rs.next();
RowCount =rs.getInt(1);
rs.close();
PageCount = (RowCount+PageSize-1) / PageSize; //记算总页数
if(Page>PageCount) Page = PageCount; //调整待显示的页码
if (type.equals("re")){ //设置获取数据SQL语句
sql = "select Users.Name,PostDate,ReArticles.ID,Title"
+" from ReArticles, Users where ReArticles.AuthorId=Users.ID and ReArticles.ArticleId="+id;
}else{
sql = "select Users.Name,PostDate,Articles.ID,Title"
+" from Articles, Users where Articles.AuthorId=Users.ID";
}
rs = statement.executeQuery(sql); //执行SQL语句并取得结果集
i = (Page-1) * PageSize; //将记录指针定位到待显示页的第一条记录上
for(j=0;j<i;j++) rs.next(); %>
<p align=center>小型BBS</p>
<table border="1" cellspacing="0" cellpadding="0" width=80% align=center>
<tr><td colspan=2 align=center>
<%if (IsAdmin){%><a href="usermanage.jsp">用户管理</a>  <%}%>
<%if (type.equals("article")){%>
<a href="modify.jsp?type=<%=type%>&work=write">发表文章</a>
  <a href="login.html">退出</a>
<%}else{%>
<a href="modify.jsp?type=<%=type%>&id=<%=id%>&work=write">发表文章</a>
  <a href="detail.jsp?type=article&id=<%=id%>">返回</a>
<%}%>
</td></tr>
<%
i = 0;
while(i<PageSize && rs.next()){
String reid=rs.getString(3);
String title=rs.getString(4);
String postdate=rs.getString(2);
String author=rs.getString(1);%>
<tr>
<td>发表日期:<%=postdate%></td>
<td>作者:<%=author%></td>
</tr>
<tr>
<%if (IsAdmin){%>
<%if (type.equals("article")){%>
<td>标题:<a href="detail.jsp?type=<%=type%>&id=<%=reid%>"><%=title%></a></td>
<td><a href="delete.jsp?type=<%=type%>&id=<%=reid%>">删除</a></td>
<%}else{%>
<td>标题:<a href="detail.jsp?type=<%=type%>&id=<%=reid%>&articleid=<%=id%>"><%=title%></a></td>
<td><a href="delete.jsp?type=<%=type%>&id=<%=reid%>&articleid=<%=id%>">删除</a></td>
<%}
}else{%>
<%if (type.equals("article")){%>
<td>标题:<a href="detail.jsp?type=<%=type%>&id=<%=reid%>"><%=title%></a></td>
<%if (author.equals(session.getAttribute("Name"))){%>
<td><a href="delete.jsp?type=<%=type%>&id=<%=reid%>">删除</a></td>
<%}
}else{%>
<td>标题:<a href="detail.jsp?type=<%=type%>&id=<%=reid%>&articleid=<%=id%>"><%=title%></a></td>
<%if (author.equals(session.getAttribute("Name"))){%>
<td><a href="delete.jsp?type=<%=type%>&id=<%=reid%>&articleid=<%=id%>">删除</a></td>
<%}
}
}%>
</tr>
<% i++; } %>
<tr>
<td colspan=2 align=center>
第<%=Page%>页  共<%=PageCount%>页
<%if(Page<PageCount){%>
<a href="list.jsp?page=<%=Page+1%>&id=<%=id%>&type=<%=type%>">下一页</a><%
}
%>
<%if(Page>1){%>
<a href="list.jsp?page=<%=Page-1%>&id=<%=id%>&type=<%=type%>">上一页</a><%
}%>
</td>
</tr>
</table>
<%@ include file="disconn.jsp"%>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -