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

📄 forumtag.java

📁 java论坛
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
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 + -