📄 forumlist.java
字号:
package com.yhbbs.comm.tag;
import java.util.HashMap;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
import org.apache.log4j.Logger;
import com.yhbbs.article.biz.ArticleBiz;
import com.yhbbs.article.itface.ArticleDto;
import com.yhbbs.comm.Pages;
import com.yhbbs.forum.biz.ForumBiz;
import com.yhbbs.user.biz.UserBiz;
import com.yhbbs.user.itface.bean.UserSession;
import com.yhbbs.utils.Constants;
import com.yhbbs.utils.ReqUtils;
import com.yhbbs.utils.StringUtils;
import com.yhbbs.yhclass.biz.ClassBiz;
/**
* <p>Title: 论坛文章列表</p>
* <p>Company: www.yyhweb.com</p>
* <br><b>CopyRight: yyhweb[由由华网]</b>
* @author stephen
* @version YHBBS-2.0
*/
public class ForumList extends TagSupport{
private static final long serialVersionUID = 1L;
private static Logger bbslog = Logger.getLogger(ForumList.class.getName());
public int doStartTag() throws JspException {
return 0;
}
public int doEndTag() throws JspException {
try{
HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();
StringBuffer sb = new StringBuffer();
UserSession curUser = (UserSession) request.getSession(true).getAttribute(Constants.bbsuser);
int classId = ReqUtils.getInt(request,"cId");
int forumId = ReqUtils.getInt(request,"fId");
int curPage = ReqUtils.getInt(request,"curPage");
String action = ReqUtils.getString(request, "action");
List alltop = ArticleBiz.getAllTop();
List classtop = ArticleBiz.getClassTop(classId);
List forumtop = ArticleBiz.getForumTop(forumId);
List otherlist = null;
String forumAdmin = ForumBiz.getForumAdmin(forumId);
String forumadmin[] = null;
//不采用ibatis的分页 则xml中sql需要传入每一个分页的开始和结束位置 故采用hashmap存储参数
int arttotal = 0;
int pagesize = 20;
int start = 0;
String link = "";
if(curPage>1){ // 如果不是第一页,则从该页的第一条开始
start = (curPage-1)*pagesize;
}
HashMap<String, Integer> forumpage = new HashMap<String, Integer>();
forumpage.put("forumid",forumId);
forumpage.put("start",start);
forumpage.put("end",pagesize);
if(action.equals("j")){
link = "Forum.htm?cId="+classId+"&fId=" + forumId + "&action=j";
arttotal = ArticleBiz.getForumEliteC(forumId);
otherlist = ArticleBiz.getForumElite(forumpage);
}else{
link = "Forum.htm?cId="+classId+"&fId=" + forumId;
arttotal = ArticleBiz.getFmNoTopArtC(forumId);
otherlist = ArticleBiz.getForumArt(forumpage);
}
Pages pages = new Pages(arttotal, curPage,pagesize,link);
ArticleDto article = null;
String titleImg = "";
String postTime = "";
String lastPTime = "";
String isLock = "";
String isVote = "";
int lastUserId = 0;
sb.append("<table align=center cellSpacing=0 cellPadding=0 width=100%>");
sb.append("<tr><td><a href=Post.htm?cId=");
sb.append(classId);
sb.append("&fId=");
sb.append(forumId);
sb.append("&action=post>");
sb.append("<img src=webapp/images/newpost.gif border=0 alt=发表新帖子></a> ");
sb.append("<a href=Post.htm?cId=");
sb.append(classId);
sb.append("&fId=");
sb.append(forumId);
sb.append("&action=vote>");
sb.append("<img src=webapp/images/newvote.gif border=0 alt=发表新投票></a>");
sb.append("</td><td align=right><img src='webapp/images/jinhua.gif'> ");
sb.append("<a href='Forum.htm?cId=");
sb.append(classId);
sb.append("&fId=");
sb.append(forumId);
sb.append("&action=j'>");
sb.append("<b>精华帖子</b>");
sb.append("</a>");
sb.append("</td>");
sb.append("<form name=jumpca>");
sb.append("<td align=right width='140px'>");
sb.append("<img src=webapp/images/forumadmin.gif border=0 alt=论坛版主> ");
sb.append("<select name=jumpca onchange=adminshow()>");
sb.append("<option>论坛版主 :</option>");
sb.append("<option>----------</option>");
if(forumAdmin.length()>1){
forumadmin = StringUtils.split(forumAdmin, ",");
for(int j=0; j< forumadmin.length; j++) {
sb.append("<option value=User.htm?uId=");
sb.append(UserBiz.getUserId(forumadmin[j]));
sb.append(">");
sb.append(forumadmin[j]);
sb.append("</option>");
}
}
sb.append("</select> </td>");
sb.append("</form>");
sb.append("</tr>");
sb.append("</table>");
sb.append("<table class=tab1 align=center cellSpacing=0 cellPadding=0 width=100%>");
sb.append("<tr><td colspan=7>");
sb.append("<table class=tab_c width=100% cellSpacing=0 cellPadding=0>");
sb.append("<tr height=20px align=center><td width=5%>");
sb.append("<b><font color=#FFFFFF> 状态 </b></font></td>");
sb.append("<td class=td_l width=4%><b><font color=#FFFFFF>-</b></font></td>");
sb.append("<td class=td_l width=48%><b><font color=#FFFFFF>主题");
sb.append(" 点击<img src='webapp/images/class0.gif'>展开回复贴</font></b></td>");
sb.append("<td class=td_l width=10%><b><font color=#FFFFFF>作者</b></font></td>");
sb.append("<td class=td_l width=5%><b><font color=#FFFFFF>回复</b></font></td>");
sb.append("<td class=td_l width=5%><b><font color=#FFFFFF>点击</b></font></td>");
sb.append("<td class=td_l width=280px><b><font color=#FFFFFF>最后回复</b></font></td>");
sb.append("</tr></table>");
sb.append("</td></tr>");//top
sb = sb.append(listart(alltop,curUser,classId));
sb = sb.append(listart(classtop,curUser,classId));
sb = sb.append(listart(forumtop,curUser,classId));
if(alltop.size()>0 || classtop.size()>0 || forumtop.size()>0){
sb.append("<tr><td class=td_t colspan=7>");
if(action.equals("j"))
sb.append(" <b>以下是本论坛精华帖子</b>");
sb.append(" </td></tr>");
}
if(otherlist.size()>0){
for(int i=0;i<otherlist.size();i++){
article = (ArticleDto) otherlist.get(i);
postTime = article.getPosttime();
titleImg = article.getTitleimg();
lastUserId = article.getLastuserid();
lastPTime = article.getLastptime();
isLock = article.getIslock();
isVote = article.getIsvote();
sb.append("<tr height=30px align=center onMouseOver=this.className='tr_o' onMouseOut=this.className=''>");
sb.append("<td class=td_tbg width=5%>");
if(isLock.equals("1"))
sb.append("<img src=webapp/images/lock.gif border=0 alt=该贴已被锁定>");
else if(!isVote.equals("0"))
sb.append("<img src=webapp/images/vote.gif border=0 alt=投票贴>");
else
sb.append("<img src=webapp/images/newtopic.gif border=0>");
sb.append("</td>");
sb.append("<td class=td_lt width=4%>");
if(titleImg.length()>4)
sb.append("<img src='webapp/images/emot/"+titleImg+"' border=0 />");
else
sb.append(" ");
sb.append("</td>");
sb.append("<td class=td_lt width=48% align=left> ");
if(article.getReplaynum()>0){
sb.append("<img src='webapp/images/class0.gif' loaded='no' title='展开回复贴' style='cursor:hand;' id='followImg"+article.getId()+"'");
sb.append(" onclick='ArtReplays("+article.getClassid()+","+article.getForum()+","+article.getId()+",0)'>");
}else{
sb.append("<img src='webapp/images/class1.gif'>");
}
sb.append(" <a href=Article.htm?cId=");
sb.append(article.getClassid());
sb.append("&fId=");
sb.append(article.getForum());
sb.append("&aId=");
sb.append(article.getId());
sb.append(" title='标题:");
sb.append(article.getTitle());
sb.append("\n");
sb.append("作者:");
sb.append(article.getUser());
sb.append("\n");
sb.append("日期:");
sb.append(postTime);
sb.append("\n");
if(lastUserId>0){
sb.append("最后回复:");
sb.append("\n");
sb.append("作者:");
sb.append(article.getLastuser());
sb.append("\n");
sb.append("日期:");
sb.append(lastPTime);
}else{
sb.append("没有回复");
sb.append("\n");
sb.append("--------------------");
}
sb.append("' >");
sb.append(article.getTitle());
sb.append("</a>");
if(article.getIselite().equals("1")){
sb.append(" <img src=webapp/images/elite.gif border=0 alt=精华贴>");
}
if(article.getIscom().equals("1")){
sb.append(" <img src=webapp/images/comm.gif border=0 alt=推荐贴>");
}
sb.append(manage(curUser,article,classId));
sb.append("</td>");
sb.append("<td class=td_ltbg width=10%>");
sb.append("<a href='User.htm?uId=");
sb.append(article.getUserid());
sb.append("'>");
sb.append(article.getUser());
sb.append("</a>");
sb.append("</td>");
sb.append("<td class=td_lt width=5%>");
sb.append(article.getReplaynum());
sb.append("</td>");
sb.append("<td class=td_lt width=5%>");
sb.append(article.getReadtimes());
sb.append("</td>");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -