📄 artshowtag.java
字号:
package com.yhbbs.comm.tag;
import java.util.HashMap;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
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.Article;
import com.yhbbs.comm.Pages;
import com.yhbbs.user.biz.UserBiz;
import com.yhbbs.user.biz.UserLevelBiz;
import com.yhbbs.user.itface.bean.User;
import com.yhbbs.user.itface.bean.UserSession;
import com.yhbbs.utils.Constants;
import com.yhbbs.utils.DateUtils;
import com.yhbbs.utils.ReqUtils;
import com.yhbbs.utils.StringUtils;
import com.yhbbs.vote.biz.VoteBiz;
import com.yhbbs.vote.itface.Vote;
/**
* <p>Title: 论坛帖子浏览</p>
* <li>论坛帖子浏览
* <p>Company: www.yyhweb.com</p>
* <br><b>CopyRight: yyhweb[由由华网]</b>
* @author stephen
* @version YHBBS-2.0
*/
public class ArtShowTag extends TagSupport{
private static final long serialVersionUID = 1L;
private static Logger bbslog = Logger.getLogger(ArtShowTag.class);
public int doStartTag() throws JspException {
return 0;
}
public int doEndTag() throws JspException {
try {
HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();
HttpSession session = request.getSession(true);
UserSession curUser = (UserSession)session.getAttribute(Constants.bbsuser);
StringBuffer sb = new StringBuffer();
int artId = ReqUtils.getIntAtt(request,"curAId");
Article article = ArticleBiz.getArtContent(artId);
int classId = article.getClassid();
int forumId = article.getForum();
String islock = article.getIslock();
String artTitle = article.getTitle();
request.setAttribute("islock",islock);//传递给回复标签
request.setAttribute("arttitle",artTitle);
request.setAttribute("cid",classId);
request.setAttribute("fid",forumId);
request.setAttribute("aid",artId);
//fenye
int artreplay = ArticleBiz.getArtReplayC(artId);
int curPage = ReqUtils.getInt(request,"curPage");
int pagesize = 12;
Pages pages = new Pages(artreplay, curPage,pagesize,"Article.htm?cId="+classId+"&fId=" + forumId+"&aId="+artId);
int start = 0;
curPage = pages.getCurPage();
if(curPage>1){
start = (curPage-1)*pagesize;
}
int flr = pagesize*(curPage-1)+1;
HashMap<String,Integer> artrp = new HashMap<String,Integer>();
artrp.put("artId",artId);
artrp.put("start",start);
artrp.put("end",pagesize);
List replays = ArticleBiz.getArtReplay(artrp);
sb.append("<table align=center cellSpacing=0 cellPadding=0 width=100%>");
sb.append("<tr><td>");
sb.append("<a href=Post.htm?cId="+classId+"&fId="+forumId+"&action=post>");
sb.append("<img src=webapp/images/newpost.gif border=0 alt=发表新帖子></a>");
sb.append(" <a href=Post.htm?cId="+classId+"&fId="+forumId+"&action=vote>");
sb.append("<img src=webapp/images/newvote.gif border=0 alt=发表新投票></a>");
sb.append(" <a href=Post.htm?cId="+classId+"&fId="+forumId+"&aId="+artId+"&action=replay>");
sb.append("<img src=webapp/images/replay.gif border=0 alt=回复此帖></a>");
sb.append("</td><td>您是该帖的第");
sb.append(article.getReadtimes());
sb.append(" 个阅读者</td>");
sb.append("</tr></table>");
sb.append("<table class=tab1 align=center cellSpacing=0 cellPadding=0 width=100%>");//outside
sb.append("<tr><td colspan=3>");
sb.append("<table class=tab_c width=100% cellSpacing=0 cellPadding=0>");
sb.append("<tr height=25px align=center><td align=left> <b><font color=#FFFFFF>");
sb.append(" * 贴子主题: ");
sb.append(artTitle);
sb.append("</b></font></td>");
sb.append("<td align=right>");
sb.append(" <a href='#bottom'><img src=webapp/images/gobottom.gif border=0 alt=到底部 /></a> ");
sb.append("</td></tr>");
sb.append("</table>");
sb.append("</td></tr>");
if(curPage==1){
sb.append(display(curUser,article,0));
}
//replay
int rpnum = replays.size();
Article replay = null;
for(int i=0;i<rpnum;i++){
int floor = flr+i;
replay = (Article)replays.get(i);
sb.append(display(curUser,replay,floor));
}
sb.append("<tr class=tr_1 height=30px><td class=td_t colspan=3>");
sb.append(pages.getPageInfo());
sb.append("</td></tr>");
sb.append("</table>");//outside
JspWriter out = pageContext.getOut();
out.println(sb);
sb = null;
}catch(Exception e){
bbslog.error("ArtShowTag tag's doEndTag error!");
}
return 6;
}
private String display(UserSession curUser,Article article,int floor){
StringBuffer sb = new StringBuffer();
int bbsUId = 0;
int bbsUType = 0;
if(curUser!=null){
bbsUId = curUser.getUserId();
bbsUType = curUser.getUsertype();
}
int artId = article.getId();
int classId = article.getClassid();
int forumId = article.getForum();
String titleimg = article.getTitleimg();
String edituser = article.getEdituser();
String edittime = article.getEdittime();
int userId = article.getUserid();
int readmoney = article.getReadmoney();
String isvote = article.getIsvote();
String content = article.getContent().getContent();
content = StringUtils.ubbEncode(StringUtils.strEncode(content));
String dateFM = Constants.dateFM;
// get user
User user = UserBiz.getUser(userId);
String username = user.getUsername();
String usersign = StringUtils.htmlEncode(user.getSignature());
String userimage = user.getImage();
String userimgurl = user.getImageurl();
String pertitle = user.getPersontitle();
String social = user.getSocialpart();
int charam = user.getCharam();
int excp = user.getExperience();
int money = user.getMoney();
int imgw = user.getImagewidth();
int imgh = user.getImageheight();
if(floor%2==0)
sb.append("<tr class=tr_1 height=100px>");
else
sb.append("<tr height=100px>");
sb.append("<td class=td_t width=23% valign=top>");//left
sb.append("<table align=center width=94% cellSpacing=0 cellPadding=0>");
sb.append("<tr><td>");
if(user.getIsonline().equals("1"))
sb.append(" <img src=webapp/images/online.gif border=0 alt=在线 /> ");
else
sb.append(" <img src=webapp/images/offline.gif border=0 alt=离线 /> ");
sb.append("<a href='User.htm?uId=");
sb.append(user.getId());
sb.append("'>");
sb.append(username);
sb.append("</a></td></tr>");
sb.append("<tr><td>");
if(pertitle.length()>1){
sb.append("个人头衔: ");
sb.append(pertitle);
sb.append("<br>");
}
if(social.length()>1){
sb.append("江湖门派: ");
sb.append(social);
sb.append("<br>");
}
sb.append("</td></tr>");
sb.append("<tr><td>");
if(userimage.length()>4){
sb.append("<img ");
if(imgw>0 && imgh>0)
sb.append(" width="+imgw+" height="+imgh);
sb.append(" src=webapp/images/avatars/");
sb.append(userimage);
sb.append(" border=0 >");
}else if(userimgurl.length()>4){
sb.append("<img ");
if(imgw>0 && imgh>0)
sb.append(" width="+imgw+" height="+imgh);
sb.append(" src=");
if(userimgurl.indexOf("http://")==-1)
sb.append(Constants.userimgpath);
sb.append(userimgurl);
sb.append(" border=0 >");
}
sb.append("</td></tr>");
//wei wang
sb.append("<tr><td>威望: ");
sb.append(user.getPrestige());
sb.append("<br>级别: ");
sb.append(UserLevelBiz.getGradeName(user.getGrade(),user.getUsertype()));
sb.append("<br>魅力: <img src=webapp/images/charam.gif border=0 height=8 width=");
sb.append(doimg(charam));
sb.append(" alt=");
sb.append(charam);
sb.append(" /><br>经验: <img src=webapp/images/experic.gif border=0 height=8 width=");
sb.append(doimg(excp));
sb.append(" alt=");
sb.append(excp);
sb.append(" /><br>现金: ");
sb.append(money);
sb.append("<br>发帖数: ");
sb.append(user.getPostnum());
sb.append(" 篇<br>注册时间: ");
sb.append(DateUtils.getStr2Str(dateFM,user.getRegtime()));
sb.append("<br></td></tr>");
sb.append("</table>");
//end left
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -