📄 forumtag.java
字号:
package com.laoer.bbscs.web.taglib;
import java.util.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import org.apache.commons.io.*;
import org.apache.commons.lang.*;
import org.apache.struts.taglib.*;
import org.springframework.web.context.*;
import org.springframework.web.context.support.*;
import com.laoer.bbscs.bean.*;
import com.laoer.bbscs.comm.*;
import com.laoer.bbscs.service.*;
import com.laoer.bbscs.service.config.*;
import com.laoer.bbscs.web.servlet.*;
import freemarker.template.Configuration;
import java.io.*;
import freemarker.template.Template;
import freemarker.template.*;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.logging.Log;
import com.laoer.comm.util.*;
/**
* <p>Title: Tianyi BBS</p>
*
* <p>Description: BBSCS</p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: Laoer.com</p>
*
* @author Gong Tianyi
* @version 7.0
*/
public class ForumTag
extends TagSupport {
private static final Log logger = LogFactory.getLog(ForumTag.class);
protected String name = "";
protected String property = null;
protected String scope = null;
protected String type = "";
protected String boardObjName = "board";
protected String itemClass = "font2";
protected String forumCurrentPageName = "pagesObj";
protected String forumCurrentPageProperty = null;
protected String inPagesName = "inpages";
protected String indexName = "index";
protected String topicTotalNumName = "totalnum";
protected String forumCurrentActionName = "forumActionForm";
protected String forumCurrentActionProperty = "action";
public ForumTag() {
}
public int doStartTag() throws JspException {
return (SKIP_BODY);
}
public int doEndTag() throws JspException {
HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
HttpServletResponse response = (HttpServletResponse) pageContext.getResponse();
WebApplicationContext wc = WebApplicationContextUtils.getWebApplicationContext(this.
pageContext.getServletContext());
SysConfig sysConfig = (SysConfig) wc.getBean("sysConfig");
StringBuffer sb = new StringBuffer();
if (type.equalsIgnoreCase("floor")) {
int index = 0;
Object indexObj = TagUtils.getInstance().lookup(pageContext, indexName, null, null);
if (indexObj != null) {
index = ( (Integer) indexObj).intValue();
}
int inpages = 1;
Object inpagesObj = TagUtils.getInstance().lookup(pageContext, inPagesName, null, null);
if (inpagesObj != null) {
inpages = ( (Integer) inpagesObj).intValue();
}
UserCookie uc = new UserCookie(request, response, sysConfig);
int perNum = this.getUserPostPerNum(uc.getPostPerNum(), sysConfig.getPostPerPage());
int floor = (inpages - 1) * perNum + index;
if (floor == 0) {
sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "forum.floor0"));
}
else {
sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "forum.floor1",
String.valueOf(floor)));
}
TagUtils.getInstance().write(pageContext, sb.toString());
return (SKIP_BODY);
}
if (type.equalsIgnoreCase("time")) {
Object value = TagUtils.getInstance().lookup(pageContext, name, property, scope);
if (value == null) {
sb.append("");
TagUtils.getInstance().write(pageContext, sb.toString());
return (SKIP_BODY);
}
Long time = (Long) value;
sb.append(Util.formatDateTime(new Date(time.longValue())));
TagUtils.getInstance().write(pageContext, sb.toString());
return (SKIP_BODY);
}
Object value = TagUtils.getInstance().lookup(pageContext, name, property, scope);
if (value == null) {
sb.append("");
TagUtils.getInstance().write(pageContext, sb.toString());
return (SKIP_BODY);
}
Forum f = (Forum) value;
if (type.equalsIgnoreCase("face")) {
if (f.getFace() == 0) {
sb.append("<img src=\"");
sb.append(sysConfig.getPostDefFaceImg());
sb.append("\" align=\"absmiddle\"/>");
}
else {
sb.append("<img src=\"images/");
sb.append(f.getFace());
sb.append(".gif\" align=\"absmiddle\"/>");
}
TagUtils.getInstance().write(pageContext, sb.toString());
return (SKIP_BODY);
}
if (type.equalsIgnoreCase("title")) {
Object boardObj = TagUtils.getInstance().lookup(pageContext, boardObjName, null, null);
int boardType = 3;
Board board = (Board) boardObj;
boardType = board.getBoardType();
Object forumCurrentPageObj = TagUtils.getInstance().lookup(pageContext, forumCurrentPageName,
forumCurrentPageProperty, null);
int fcpage = 1;
if (forumCurrentPageObj != null) {
fcpage = ( (Integer) forumCurrentPageObj).intValue();
}
String fcaction = "index";
Object fcactionObj = TagUtils.getInstance().lookup(pageContext, forumCurrentActionName,
forumCurrentActionProperty, null);
if (fcactionObj != null) {
fcaction = (String) fcactionObj;
}
/*
if (boardObj != null) {
board = (Board) boardObj;
boardType = board.getBoardType();
}*/
if (boardType == 2) {
if (board.getId().longValue() != f.getBoardID()) {
sb.append("[");
sb.append(f.getBoardName());
sb.append("] ");
}
}
if (f.getPostType() != 0) {
if (f.getPostType() == 1) {
sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "post.firstpus"));
sb.append(" ");
//sb.append("[原创] ");
}
if (f.getPostType() == 2) {
sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "post.fw"));
sb.append(" ");
//sb.append("[转载] ");
}
}
if (f.getIsVote() == 1) {
//sb.append("[投票] ");
sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "post.vote.title"));
sb.append(" ");
}
if (f.getTitleColor() != 0) {
sb.append("<a href=\"");
sb.append(BBSCSUtil.getActionMappingURL("/read?action=topic&id=" + f.getMainID() + "&bid=" +
f.getBoardID() + "&fcpage=" + fcpage + "&fcaction=" +
fcaction, request));
sb.append("\">");
sb.append("<font color=\"");
sb.append(Constant.TITLECOLOR[f.getTitleColor()]);
sb.append("\"><strong>");
sb.append(TagUtils.getInstance().filter(f.getTitle()));
sb.append("</strong></font>");
sb.append("</a>");
}
else {
sb.append("<a href=\"");
sb.append(BBSCSUtil.getActionMappingURL("/read?action=topic&id=" + f.getMainID() + "&bid=" +
f.getBoardID() + "&fcpage=" + fcpage + "&fcaction=" +
fcaction, request));
sb.append("\">");
sb.append(TagUtils.getInstance().filter(f.getTitle()));
sb.append("</a>");
}
TagUtils.getInstance().write(pageContext, sb.toString());
return (SKIP_BODY);
}
if (type.equalsIgnoreCase("titlemanage")) {
Object boardObj = TagUtils.getInstance().lookup(pageContext, boardObjName, null, null);
int boardType = 3;
Board board = (Board) boardObj;
boardType = board.getBoardType();
int fcpage = 1;
String fcaction = "index";
if (boardType == 2) {
if (board.getId().longValue() != f.getBoardID()) {
sb.append("[");
sb.append(f.getBoardName());
sb.append("] ");
}
}
if (f.getIsVote() == 1) {
//sb.append("[投票] ");
sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "post.vote.title"));
sb.append(" ");
}
if (f.getTitleColor() != 0) {
sb.append("<a href=\"");
sb.append(BBSCSUtil.getActionMappingURL("/read?action=topic&id=" + f.getMainID() + "&bid=" +
f.getBoardID() + "&fcpage=" + fcpage + "&fcaction=" +
fcaction, request));
sb.append("\">");
sb.append("<font color=\"");
sb.append(Constant.TITLECOLOR[f.getTitleColor()]);
sb.append("\"><strong>");
sb.append(TagUtils.getInstance().filter(f.getTitle()));
sb.append("</strong></font>");
sb.append("</a>");
}
else {
sb.append("<a href=\"");
sb.append(BBSCSUtil.getActionMappingURL("/read?action=topic&id=" + f.getMainID() + "&bid=" +
f.getBoardID() + "&fcpage=" + fcpage + "&fcaction=" +
fcaction, request));
sb.append("\">");
sb.append(TagUtils.getInstance().filter(f.getTitle()));
sb.append("</a>");
}
TagUtils.getInstance().write(pageContext, sb.toString());
return (SKIP_BODY);
}
if (type.equalsIgnoreCase("titlewaste")) {
Object boardObj = TagUtils.getInstance().lookup(pageContext, boardObjName, null, null);
int boardType = 3;
Board board = (Board) boardObj;
boardType = board.getBoardType();
//int fcpage = 1;
//String fcaction = "index";
if (boardType == 2) {
if (board.getId().longValue() != f.getBoardID()) {
sb.append("[");
sb.append(f.getBoardName());
sb.append("] ");
}
}
if (f.getIsVote() == 1) {
//sb.append("[投票] ");
sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "post.vote.title"));
sb.append(" ");
}
if (f.getTitleColor() != 0) {
sb.append("<a href=\"");
sb.append(BBSCSUtil.getActionMappingURL("/read?action=waste&mainid=" + f.getMainID() + "&bid=" +
f.getBoardID(), request));
sb.append("\">");
sb.append("<font color=\"");
sb.append(Constant.TITLECOLOR[f.getTitleColor()]);
sb.append("\"><strong>");
sb.append(TagUtils.getInstance().filter(f.getTitle()));
sb.append("</strong></font>");
sb.append("</a>");
}
else {
sb.append("<a href=\"");
sb.append(BBSCSUtil.getActionMappingURL("/read?action=waste&mainid=" + f.getMainID() + "&bid=" +
f.getBoardID(), request));
sb.append("\">");
sb.append(TagUtils.getInstance().filter(f.getTitle()));
sb.append("</a>");
}
TagUtils.getInstance().write(pageContext, sb.toString());
return (SKIP_BODY);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -