📄 bbslistmore.jsp
字号:
<%@ page language="java" contentType="text/html;charset=gb2312" %>
<%@ page import="java.sql.*"%>
<%@ page import="BeanLink.DBBean"%>
<jsp:useBean id="dBean" class="BeanLink.DBBean" scope="session"/>
<html>
<head>
<title>论坛列表</title>
</head>
<body>
<CENTER>
<br>
<%
String loginSign = (String)session.getValue("loginSign");
String username = (String)session.getValue("username");//作者名
if(loginSign!=null&&loginSign.equals("OK"))
{//显示主题文章及回复文章列表
out.println("<font size='6' color='blue'>主题文章</font>");
}
else
{//无此权限,定向到用户登录页面
response.sendRedirect("../index.jsp");
}
%>
</CENTER>
<%
//变量初始化
int pageLine = 2;//每页记录数
int totalRec = 0;//数据集的总记录数
int intPageCount = 0;//总页数
int intPage = 0;//当前页号
%>
<%
String sdriver="sun.jdbc.odbc.JdbcOdbcDriver";
String sconn="jdbc:odbc:mydb";
String suser="";
String spass="";
String tablename="board";
dBean.openConn(sdriver,sconn,suser,spass);
ResultSet rs=null;
String sql = "";
%>
<%
//显示相应主标题的内容并更新该记录的点击次数
String titleMain = "";
String speakerMain = "";
java.util.Date provide_timeMain = null;
long reply_numMain = 0;
long click_numMain = 0;
String contentMain = "";
String serialNoMain = request.getParameter("serialNo");
sql = "select * from "+tablename+" where serialNo="+serialNoMain;
rs=dBean.executeQuery(sql);
if(rs!=null&&rs.next())
{
titleMain = rs.getString("title");
speakerMain = rs.getString("speaker");
provide_timeMain = rs.getDate("provide_time");
reply_numMain = rs.getLong("reply_num");
click_numMain = rs.getLong("click_num");
click_numMain++;
reply_numMain++;//点击链接时或者提交回复时做参数
contentMain = rs.getString("content");
%>
<table width="80%" align="center" bgcolor="#ccffff" height="38">
<tr>
<td align="center"><%=titleMain%></td>
</tr>
<tr>
<td align="center">发贴人:<%=speakerMain%> 发贴时间:<%=provide_timeMain%></td>
</tr>
<tr>
<td align="left" color="#ffffcc">内 容:</td>
</tr>
<tr>
<td><%=contentMain%></td>
</tr>
</table>
<%
}
if(rs!=null)
{
rs.close();
rs = null;
}
//更新该记录的点击次数
sql = "update "+tablename+" set click_num="+click_numMain+" where serialNo="+serialNoMain;
dBean.executeUpdate(sql);
%>
<%
//取得该主题回复记录的总记录数
sql="select count(*) as cnt from "+tablename+" where parent_no="+serialNoMain;
rs=dBean.executeQuery(sql);
if(rs!=null&&rs.next())
totalRec = rs.getInt("cnt");
if(rs!=null)
{
rs.close();
rs = null;
}
//计算总页数
if(totalRec==0)
intPageCount = 0;
else
intPageCount = (totalRec-1)/pageLine + 1;
if(intPageCount>0)
{//总页数大于0--if程序断开始
//page是链接参数或者控件名称,表示当前页号,赋值给intPage
if(request.getParameter("page")!=null)
intPage = Integer.parseInt(request.getParameter("page"));
if(intPage>intPageCount)
intPage=intPageCount;//如果当前页数大于总页数,则当前页数等于总页数
if(intPage<1)
intPage=1;//如果当前页数小于1,则把它置为1
//显示记录内容,再做一次查询
sql="select * from "+tablename+" where parent_no="+serialNoMain+" order by provide_time desc";
rs=dBean.executeQuery(sql);
%>
<br>
<center><font size="6" color="green">回复文章列表</font></center>
<br>
<table border="1" width="80%" align="center" bgcolor="#ccffff" height="38">
<tr>
<td width="10%" height="10">
<p align="center">表情</p></td>
<td width="40%" height="10">
<p align="center">标题</p></td>
<td width="20%" height="10">
<p align="center">发表人</p></td>
<td width="20%" height="10">
<p align="center">发表时间</p></td>
<td width="10%" height="10">
<p align="center">点击数</p></td>
</tr>
<%
//记录指针走过当前页以前所有页的记录
for(int i=1; i<=(intPage-1)*pageLine; i++)
rs.next();
for(int i=1; i<=pageLine; i++)
{//显示当前页的记录--for开始
if(rs.next())
{
long serialNo = rs.getLong("serialNo");
String title = rs.getString("title");
String speaker = rs.getString("speaker");
java.util.Date provide_time = rs.getDate("provide_time");
long click_num = rs.getLong("click_num");
String emote = rs.getString("emote");
emote = "../../images/"+emote+".gif";
%>
<tr>
<td width="10%" bgcolor="#ffffcc" height="10">
<p align="center"><image src="<%=emote%>" ></p></td>
<td width="40%" bgcolor="#ffffcc" height="10">
<p align="center"><a href="bbsreplycontent.jsp?serialNo=<%=serialNo%>&serialNoMain=<%=serialNoMain%>&titleMain=<%=titleMain%>&reply_numMain=<%=reply_numMain%>"><%=titleMain%></a></p></td>
<td width="20%" bgcolor="#ffffcc" height="10">
<p align="center"><%=speaker%></p></td>
<td width="20%" bgcolor="#ffffcc" height="10">
<p align="center"><%=provide_time%></p></td>
<td width="10%" bgcolor="#ffffcc" height="10">
<p align="center"><%=click_num%></p></td>
</tr>
<%
}
}//显示当前页的记录--for结束
%>
</table>
<%
}//总页数大于0--if结束
//关闭对象操作
if(rs!=null)
{
rs.close();
rs = null;
}
dBean.closeConn();
%>
<%
//以下用于分页显示
out.println("<center>");
//form表单开始,注意action为当前页面
out.println("<form method='post' action='bbslistmore.jsp'>");
if(intPage<2)//如果当前页数小于2,则首页和上一页无链接
out.print("<font color='#999966'>首页 上一页</font> ");
else
//注意href链接中用?传递参数,多个参数用&符号隔开,其中参数的名字为page
//可以通过request.getParameter("page")得到
{
out.print("<a href='bbslistmore.jsp?page=1'>首页</a> ");
out.print("<a href='bbslistmore.jsp?page="+(intPage-1)+"'>上一页</a> ");
}
if(intPage-intPageCount>=0)//如果当前页数小于总页数,则下一页和尾页有链接
out.print("<font color='#999966'>下一页 尾页</font> ");
else
{
out.print("<a href='bbslistmore.jsp?page="+(intPage+1)+"'>下一页</a> ");
out.print("<a href='bbslistmore.jsp?page="+intPageCount+"'>尾页</a> ");
}
//显示页次:当前页数/总页数/总记录数/每页记录数
out.print(" 页次:<strong><font color=red>"+intPage+"</font>/"+intPageCount+" 总记录数/"+totalRec+" 每页记录数/"+pageLine+"</strong>");
//注意:input text控件的name为page
//与前面链接中的参数同名,以便通过request.getParameter("page")得到
out.print(" 转到第<input type='text' name='page' size=4 value="+intPage+">页");
out.print("<input type='submit' value='GO' >");
out.println("</form>");
//form表单结束
out.println("</center>");
%>
<center>
<font size="6" color="green">回复帖子</font>
<form method="post" action ="bbsdealreply.jsp?serialNoMain=<%=serialNoMain%>&reply_numMain=<%=reply_numMain%>">
<P>发帖人:<%=username%></P>
<p>主 题:<input type="text" name="title" size="70" value="<%="RE:"+titleMain%>"></p>
<p>表 情:
<%
for(int i=0; i<10; i++)
{
String imageNo = "0"+Integer.toString(i);
String imageAddress = "../../images/"+imageNo+".gif";
if(i==0)
out.println("<input type='radio' value="+imageNo+" name='emote' checked><image src="+imageAddress+"> ");
else
out.println("<input type='radio' value="+imageNo+" name='emote'><image src="+imageAddress+"> ");
}
%>
</p>
<p>内 容:</p>
<p><textarea rows="8" name="content" cols="80"></textarea></p>
<p><input type="submit" value="提交" name="B1">
<input type="reset" value="重写" name="B2"></p>
</form>
</center>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -