📄 topictag.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 + -