bbs论坛开发的部分源码1.3、实验内容
1、动态显示主版块信息
(1)在index.jsp上,使用page指令引入相关包,例如:
<%@ page language="java" pageEncoding="GBK"
import="java.util.*,
s2jsp.lg.entity.*,
s2jsp.lg.dao.*,
s2jsp.lg.dao.impl.*"%>
(2)编写脚本和表达式,得到板块Map并显示,只显示主版块信息
使用BoardDao的findBoard方法查找版块Map
使用for循环从Map中取出主版块信息
2、动态显示子版块信息、本版主题数、最后发表的主题
使用到的接口和方法
TopicDao findListTopic(int page,int boardId)
findCountTopic(boardId)
UserDao findUser(int uId)
<!-- 子版块 -->
<%
List listSonBoard = (List)mapBoard.get( new Integer(mainBoard.getBoardId()) );//先取得主版块mainBoard的id
for( int j=0; j<listSonBoard.size(); j++ ) {
Board sonBoard = (Board)listSonBoard.get(j); // 循环取得子版块
Topic topic = new Topic(); // 最后发表的主题
User user = new User(); // 最后发表的主题的作者
int boardId = sonBoard.getBoardId();
List listTopic = topicDao.findListTopic( 1, boardId ); // 取得该板块主题列表
if( listTopic!=null && listTopic.size()>0 ) {
topic = (Topic)listTopic.get(0); // 取得最后发表的帖子
user = userDao.findUser( topic.getUid() );
}
%>
3、在detail.jsp上动态显示主题和回复的内容
实现思路及关键代码:
使用page指令引入包
使用到的接口和方法
设置页数page=1:
第1页:主题、回复
其他页:回复
页数、主题id用户id暂时固都定为1
接口和方法如下:
TopicDao findTopic(int topicId)
ReplyDao findListReply(int page,int topicId)
UserDao findUser(int uId)
4、动态显示主题列表
让list.jsp动态显示“JSP技术”版块的主题列表
页数暂时固定为1,版块id暂时固定为“JSP技术”的版块boardId=9
使用到的接口和方法
TopicDao findListTopic(int page,int boardId)
UserDao findUser(int uId)
ReplyDao findCountReply(int topicId)