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

📄 topictag.java

📁 java论坛
💻 JAVA
字号:
package com.laoer.bbscs.web.taglib;

import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;

import org.apache.struts.taglib.*;
import org.apache.commons.io.*;
import com.laoer.bbscs.bean.Board;
import com.laoer.bbscs.comm.*;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.*;
import java.net.*;

/**
 * <p>Title: TianyiBBS</p>
 *
 * <p>Description: BBSCS</p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: Laoer.com</p>
 *
 * @author Laoer
 * @version 7.0
 */
public class TopicTag
    extends TagSupport {

  protected String mainIdName = "mainid";

  protected String forumCurrentPageName = "fcpage";

  protected String forumCurrentPageProperty = null;

  protected String inPagesName = "inpages";

  protected String topicTotalNumName = "totalnum";

  protected String type = "";

  protected String boardObjName = "board";

  protected String forumCurrentActionName = "readForm";

  protected String forumCurrentActionProperty = "fcaction";

  public TopicTag() {
  }

  public int doStartTag() throws JspException {
    return (SKIP_BODY);
  }

  public int doEndTag() throws JspException {

    HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();

    Object boardObj = TagUtils.getInstance().lookup(pageContext, boardObjName, null, null);
    Board board = (Board) boardObj;

    String mainId = "";
    Object mainIdNameObj = TagUtils.getInstance().lookup(pageContext, mainIdName, null, null);
    if (mainIdNameObj != null) {
      mainId = (String) mainIdNameObj;
    }
    int fcpage = 1;
    Object fcpageObj = TagUtils.getInstance().lookup(pageContext, forumCurrentPageName,
        forumCurrentPageProperty, null);
    if (fcpageObj != null) {
      fcpage = ( (Integer) fcpageObj).intValue();
    }
    /*
         int inpages = 1;
         Object inpagesObj = TagUtils.getInstance().lookup(pageContext, inPagesName, null, null);
         if (inpagesObj != null) {
      inpages = ( (Integer) inpagesObj).intValue();
         }

         int topicTotal = 0;
         Object topicTotalObj = TagUtils.getInstance().lookup(pageContext, topicTotalNumName, null, null);
         if (topicTotalObj != null) {
      topicTotal = ( (Integer) topicTotalObj).intValue();
         }*/

    String fcaction = "index";
    Object fcactionObj = TagUtils.getInstance().lookup(pageContext, forumCurrentActionName,
        forumCurrentActionProperty, null);
    if (fcactionObj != null) {
      fcaction = (String) fcactionObj;
    }

    StringBuffer sb = new StringBuffer();
    if (type.equalsIgnoreCase("returnforum")) {
      sb.append("<a href=\"");
      sb.append(BBSCSUtil.getActionMappingURL("/forum?action=" + fcaction + "&bid=" + board.getId() +
                                              "&page=" + fcpage, request));
      sb.append("\">");
      sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "bbscs.back"));
      sb.append("</a>");
      TagUtils.getInstance().write(pageContext, sb.toString());
      return (SKIP_BODY);
    }
    if (type.equalsIgnoreCase("subs")) {
      sb.append("<a href=\"javascript:;\" onclick=\"subsTopic('");
      sb.append(board.getId());
      sb.append("','");
      sb.append(mainId);
      sb.append("');\">");
      sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "post.subs.title"));
      sb.append("</a>");
      TagUtils.getInstance().write(pageContext, sb.toString());
      return (SKIP_BODY);
    }
    if (type.equalsIgnoreCase("mailsendtopic")) {
      sb.append("<a href=\"javascript:;\" onclick=\"mailSendTopicAll('");
      sb.append(board.getId());
      sb.append("','");
      sb.append(mainId);
      sb.append("');\">");
      sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "post.mailsendtopic.title"));
      sb.append("</a>");
      TagUtils.getInstance().write(pageContext, sb.toString());
      return (SKIP_BODY);
    }

    if (type.equalsIgnoreCase("own") || type.equalsIgnoreCase("topic")) {
      sb.append("<a href=\"");
      sb.append(BBSCSUtil.getActionMappingURL("/read?action=" + type + "&bid=" + board.getId() + "&id=" +
                                              mainId + "&fcpage=" + fcpage + "&fcaction=" + fcaction, request));
      sb.append("\">");
      if (type.equalsIgnoreCase("own")) {
        sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "post.read.own"));
      }
      if (type.equalsIgnoreCase("topic")) {
        sb.append(Constant.MESSAGE.getMessage(request.getLocale(), "post.read.all"));
      }
      sb.append("</a>");
      TagUtils.getInstance().write(pageContext, sb.toString());
      return (SKIP_BODY);
    }

    if (type.equalsIgnoreCase("commend")) {
      File commendFile = new File(BBSCSUtil.getIncludePath() + "Commend_" + board.getTopBid() + ".html");
      String commendText = "";
      try {
        commendText = FileUtils.readFileToString(commendFile, Constant.CHARSET);
        if (commendText == null) {
          commendText = "";
        }
      }
      catch (IOException ex) {
        commendText = "";
      }
      sb.append(commendText);
      TagUtils.getInstance().write(pageContext, sb.toString());
      return (SKIP_BODY);
    }

    if (type.equalsIgnoreCase("posturl")) {
      try {
        sb.append("<a href=\"");
        sb.append(BBSCSUtil.absoluteActionURL(request,
                                              "/main?action=read&bid=" + board.getId() + "&postID=" + mainId));
        sb.append("\" target=\"_blank\">");
        sb.append(BBSCSUtil.absoluteActionURL(request,
                                              "/main?action=read&bid=" + board.getId() + "&postID=" + mainId));
        sb.append("</a>");
      }
      catch (MalformedURLException ex1) {
        sb.append("");
      }
      TagUtils.getInstance().write(pageContext, sb.toString());
      return (SKIP_BODY);
    }

    return (SKIP_BODY);
  }

  public String getForumCurrentPageName() {
    return forumCurrentPageName;
  }

  public String getInPagesName() {
    return inPagesName;
  }

  public String getMainIdName() {
    return mainIdName;
  }

  public String getTopicTotalNumName() {
    return topicTotalNumName;
  }

  public String getType() {
    return type;
  }

  public String getBoardObjName() {
    return boardObjName;
  }

  public void setForumCurrentPageName(String forumCurrentPageName) {
    this.forumCurrentPageName = forumCurrentPageName;
  }

  public void setInPagesName(String inPagesName) {
    this.inPagesName = inPagesName;
  }

  public void setMainIdName(String mainIdName) {
    this.mainIdName = mainIdName;
  }

  public void setTopicTotalNumName(String topicTotalNumName) {
    this.topicTotalNumName = topicTotalNumName;
  }

  public void setType(String type) {
    this.type = type;
  }

  public void setBoardObjName(String boardObjName) {
    this.boardObjName = boardObjName;
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -