⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 forum.jsp

📁 实现简单论坛的功能
💻 JSP
字号:
<%@ page contentType="text/html;charset=gb2312" %>
<% String Loginmessage = (String) session.getValue("login");
   if(Loginmessage==null){
%>
<script language=javascript>
    window.location="refuse.jsp"
</script>
<% }     
%>
<html>
<head>
<title>论坛</title>
</head>
<body bgcolor="Teal">
<%@ include file="top.htm" %>
<p><b><font color="red">欢迎来到本书的论坛!
</font></b></p>
<%@ page language="java" import="java.sql.*" %>
<jsp:useBean id="workM" scope="page" class="sql.forum" />

<%
int pageNo;
if(request.getParameter("page")==null){
	pageNo=1;
}else{
	pageNo=Integer.parseInt(request.getParameter("page"));
}
ResultSet countrs=workM.executeQuery("select count(*) as cnt from article");
int totalRec=0;
if (countrs.next())
 totalRec=countrs.getInt("cnt");
countrs.close();
int pageLine=6;
int mod=totalRec%pageLine;
int page_left=0;
if(mod!=0)
 	page_left=1;
int pages=totalRec/pageLine+page_left;
%>

<%
out.print("<table border='2' style='color:white' >");
out.print("<tr><td>标题</td><td>发表人</td>");
out.print("<td>发表时间</td><td>回复数</td><td>点击数</td></tr>");

String serial;
String title;
String speaker;
Date providedate;
int reply;
int click;
int bottom=(pageNo-1)*6;
int top=pageNo*6+1;
String sql="select * from article where parent_no=0"
		+" and serial_no>"+bottom+" and serial_no<"+top+" order by serial_no DESC";
ResultSet RS=workM.executeQuery(sql);
int i=0;  //循环计数
while (RS.next()) {
     i++;
     out.print("<tr><td>");
     serial=RS.getString("serial_no");
     title=RS.getString("title");
     speaker=RS.getString("speaker");
     providedate=RS.getDate("provide_time");
     reply=RS.getInt("reply_num");
     click=RS.getInt("click_num");
     showing(request,out,serial,title,speaker,providedate,reply,click,"Subject");

   //--------------------------显示下一级的回复内容
     ResultSet RS1 = workM.executeQuery("select * from article where parent_no=" + serial + " order by serial_no");
     while (RS1.next()) {
       i++;
	   out.print("<tr><td>");
       serial=RS1.getString("serial_no");
       title=RS1.getString("title");
       speaker=RS1.getString("speaker");
       providedate=RS1.getDate("provide_time");
       reply=RS1.getInt("reply_num");
       click=RS1.getInt("click_num");
       showing(request,out,serial,title,speaker,providedate,reply,click,"Re");
     }
     RS1.close();
   //------------------------
 } 
 out.print("</table>");
 RS.close();
 out.print("<p><br>共有发言"+ totalRec + "条,分为" + pages + "页显示<br>");
 for(int j=1;j<=pages;j++){
   if(j%10==0) out.print("<br>");
   out.print("<a href=forum.jsp?page=" + j + ">");
   if (j==pageNo)
       out.print("<font color='red'>" + j + "</font>");
   else
    out.print(j);

   out.print("</a>  ");
}
%>
<!--以下函数用于显示 -->
<%!
  void showing(HttpServletRequest request,JspWriter out,String serial,String title,String speaker, Date providedate,int reply,int click,String ReSign)
  throws IOException {
	  if(ReSign=="Subject"){
	     out.print("<a href=forumcontent.jsp?serial=" + serial + ">" + title + "</a>");
	  }
	  else{
	     out.print("Re: <a href=forumrecontent.jsp?serial=" + serial + ">" + title + "</a>");
	  }
	  out.print("</td><td>");
	  out.print(speaker);
	  out.print("</td><td>");
	  out.print(providedate);
	  out.print("</td><td>");
	  out.print(reply);
	  out.print("</td><td>");
	  out.print(click);
	  out.print("</td></tr>");
}
%>
<p align="center"><a href="addtopic.jsp" target="_self">我要增加新帖</a>
<a href="login/show.html">登录</a>
<a href="login/reg1.html">注册</a>
<%@ include file="bottom.htm" %>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -