亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? messagetag.java

?? 這是學習Java必須讀懂兩套源代碼
?? JAVA
字號:
/**
 * Copyright (C) 2001 Yasna.com. All rights reserved.
 *
 * ===================================================================
 * The Apache Software License, Version 1.1
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 *
 * 3. The end-user documentation included with the redistribution,
 *    if any, must include the following acknowledgment:
 *       "This product includes software developed by
 *        Yasna.com (http://www.yasna.com)."
 *    Alternately, this acknowledgment may appear in the software itself,
 *    if and wherever such third-party acknowledgments normally appear.
 *
 * 4. The names "Yazd" and "Yasna.com" must not be used to
 *    endorse or promote products derived from this software without
 *    prior written permission. For written permission, please
 *    contact yazd@yasna.com.
 *
 * 5. Products derived from this software may not be called "Yazd",
 *    nor may "Yazd" appear in their name, without prior written
 *    permission of Yasna.com.
 *
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED.  IN NO EVENT SHALL YASNA.COM OR
 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 * ====================================================================
 *
 * This software consists of voluntary contributions made by many
 * individuals on behalf of Yasna.com. For more information
 * on Yasna.com, please see <http://www.yasna.com>.
 */

/**
 * Copyright (C) 2000 CoolServlets.com. All rights reserved.
 *
 * ===================================================================
 * The Apache Software License, Version 1.1
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 *
 * 3. The end-user documentation included with the redistribution,
 *    if any, must include the following acknowledgment:
 *       "This product includes software developed by
 *        CoolServlets.com (http://www.coolservlets.com)."
 *    Alternately, this acknowledgment may appear in the software itself,
 *    if and wherever such third-party acknowledgments normally appear.
 *
 * 4. The names "Jive" and "CoolServlets.com" must not be used to
 *    endorse or promote products derived from this software without
 *    prior written permission. For written permission, please
 *    contact webmaster@coolservlets.com.
 *
 * 5. Products derived from this software may not be called "Jive",
 *    nor may "Jive" appear in their name, without prior written
 *    permission of CoolServlets.com.
 *
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED.  IN NO EVENT SHALL COOLSERVLETS.COM OR
 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 * ====================================================================
 *
 * This software consists of voluntary contributions made by many
 * individuals on behalf of CoolServlets.com. For more information
 * on CoolServlets.com, please see <http://www.coolservlets.com>.
 */

package com.Yasna.forum.tags;

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import javax.servlet.http.*;
import com.Yasna.forum.*;
import com.Yasna.forum.tags.*;

/**
 * JSP Tag <b>message</b>, used to get information about current message.
 * <p>
 * Requires that attribute <b>id</b> be set to the name of a
 * script variable for later use in JSP to retrieve ForumMessage data
 * using &lt;jsp:getProperty/&gt;.
 * <p>
 * Gets the current message from the user state information.
 * <p>
 * If optional attribute <b>nested</b>="true" the message is obtained
 * from the closest enclosing <b>walk</b> or <b>thread</b> tag.
 * <p>
 * JSP Tag Lib Descriptor
 * <p><pre>
 *  &lt;name&gt;message&lt;/name&gt;
 *  &lt;tagclass&gt;com.Yasna.forum.tags.MessageTag&lt;/tagclass&gt;
 *  &lt;teiclass&gt;com.Yasna.forum.tags.MessageTEI&lt;/teiclass&gt;
 *  &lt;bodycontent&gt;JSP&lt;/bodycontent&gt;
 *  &lt;info&gt;Get the current message data&lt;/info&gt;
 *  &lt;attribute&gt;
 *    &lt;name&gt;id&lt;/name&gt;
 *    &lt;required&gt;true&lt;/required&gt;
 *    &lt;rtexprvalue&gt;false&lt;/rtexprvalue&gt;
 *  &lt;/attribute&gt;
 *  &lt;attribute&gt;
 *    &lt;name&gt;nested&lt;/name&gt;
 *    &lt;required&gt;false&lt;/required&gt;
 *    &lt;rtexprvalue&gt;false&lt;/rtexprvalue&gt;
 *  &lt;/attribute&gt;
 * </pre>
 *
 * @see WalkTag
 * @see ThreadTag
 * @see YazdRequest
 * @see YazdState
 * @see YazdProperty
 * @see NewMessages
 *
 * @author Glenn Nielsen
 */
public class MessageTag extends TagSupport implements YazdProperty,
	NewMessages
{
  private YazdState js = null;
  private YazdRequest jr = null;
  private ForumMessage cm = null;
  private GetNestedMessage gnm = null;
  // Flag to indicate the message is from a parent walk or thread tag
  private boolean nested = false;

  /**
   * Method called at start of message Tag to get ForumMessage
   *
   * @return EVAL_BODY_INCLUDE if there is a message or SKIP_BODY if there is not a message to view
   */
  public final int doStartTag() throws JspException
  {
    // Get the user state information
    js = (YazdState)pageContext.getAttribute("yazdUserState",
                PageContext.SESSION_SCOPE);
    if( js == null ) {
      throw new JspException("Yazd message tag could not get yazd state.");
    }

    // Get the user request information
    jr = (YazdRequest)pageContext.getAttribute("yazdUserRequest",
                PageContext.REQUEST_SCOPE);
    if( jr == null )
      throw new JspException("Yazd message tag, could not find request");

    // See if we are nested inside a walk or thread tag
    if( !nested ) {
        // Get the message from user state information
        cm = jr.getMessage();
    } else {
      // Get the closest enclosing walk or thread tag.
      try {
        gnm = (GetNestedMessage)this.findAncestorWithClass(this,
          Class.forName("com.Yasna.forum.tags.GetNestedMessage"));
	cm = gnm.getMessage();
      } catch(Exception e) {
      }
    }

    if( cm == null )
      return SKIP_BODY;

    // Save the script variable so JSP author can access message data
    pageContext.setAttribute(id,this,PageContext.PAGE_SCOPE);
    return EVAL_BODY_INCLUDE;
  }

  /**
   * Set a flag indicating whether message is nested within a walk or thread tag
   * Optional attribute).
   */
  public final void setNested(String a)
  {
    if( a.equals("true") )nested=true;
  }

  /**
   * Used by UserTag to get the User data for the person
   * who posted this message.
   *
   * @return User who posted message being viewed
   */
  public final User getUser()
  {
    return cm.getUser();
  }

  /**
   * Message ID property which can be obtained by the JSP page
   * using &lt;jsp:getProperty name=<i>"id"</i> property="messageid"/&gt;
   *
   * @return String - message ID
   */
  public final String getMessageid()
  {
    return "" + cm.getID();
  }

  /**
   * Message Body property which can be obtained by the JSP page
   * using &lt;jsp:getProperty name=<i>"id"</i> property="body"/&gt;
   *
   * @return String - message body
   */
  public final String getBody()
  {
    return cm.getBody();
  }

  /**
   * Message Subject property which can be obtained by the JSP page
   * using &lt;jsp:getProperty name=<i>"id"</i> property="subject"/&gt;
   *
   * @return String - message subject
   */
  public final String getSubject()
  {
    return cm.getSubject();
  }

  /**
   * Date and time of Message CreationDate (integer) property which can be
   * obtained by the JSP page using
   * &lt;jsp:getProperty name=<i>"id"</i> property="creationDate"/&gt;
   *
   * @return date and time of Message CreationDate as an integer
   */
  public final String getCreationDate()
  {
    return "" + cm.getCreationDate().getTime();
  }

  /**
   * Date and time of Message ModifiedDate (integer) property which can be
   * obtained by the JSP page using
   * &lt;jsp:getProperty name=<i>"id"</i> property="modifiedDate"/&gt;
   *
   * @return date and time of Message ModifiedDate as an integer
   */
  public final String getModifiedDate()
  {
    return "" + cm.getModifiedDate().getTime();
  }

  /**
   * Get the total number of replies to this message
   *
   * @return number of replies to this message
   */
  public final String getMessagecount()
  {
    if( gnm != null ) {
      return "" + gnm.getTotal();
    }
    return "";
  }

  /**
   * Get the ID of the thread this message is in
   *
   * @return threadID
   */
  public final String getThreadid()
  {
    return "" + cm.getForumThread().getID();
  }

  /**
   * Method used by the getYazdProperty tag to get an extended Message
   * property from the message tag script variable.
   *
   * @return String - value of the property
   */
  public final String getProperty(String name)
  {
    String tmp = cm.getProperty(name);
    if( tmp != null )return tmp;
    return "";
  }

  /**
   * Method used by the setYazdProperty tag to set an extended Message
   * property from the message tag script variable.
   */
  public final void setProperty(String name, String value)
  {
    cm.setProperty(name,value);
  }

  /**
   * Determine if message was modified since users last visit.
   *
   * @return boolean - true or false
   */
  public final boolean newMessages()
  {
    if( js.getLastForumVisitDate(cm.getForumThread().getForum(),jr).getTime() <
        cm.getModifiedDate().getTime() )
                return true;
    return false;
  }

  /**
   * Determine if message was posted by an anonymous user.
   *
   * @return boolean - true or false
   */
  public final boolean isAnonymous()
  {
    return cm.isAnonymous();
  }

  /**
   * Remove the script variable after message tag closed out
   */
  public final void release()
  {
    if( id != null && id.length() > 0 )
      pageContext.removeAttribute(id,PageContext.PAGE_SCOPE);
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美视频完全免费看| 亚洲国产精品精华液ab| 91视频在线观看| 国产a精品视频| 国产成人综合自拍| 国产精品一区二区视频| 国产麻豆午夜三级精品| 国产一区二区三区四区五区入口| 美洲天堂一区二卡三卡四卡视频 | 国产精品久久久久国产精品日日| 26uuu国产在线精品一区二区| 欧美大黄免费观看| 精品国产自在久精品国产| 精品国产麻豆免费人成网站| 精品国产一区二区三区不卡| 久久久久久久电影| 中文字幕电影一区| 最新热久久免费视频| 一区二区三区中文字幕在线观看| 亚洲综合一二区| 日韩在线播放一区二区| 免费一级欧美片在线观看| 黄色日韩三级电影| 粉嫩aⅴ一区二区三区四区五区| 成人h版在线观看| 日本道精品一区二区三区| 欧美日韩一区三区四区| 欧美一区在线视频| 久久免费的精品国产v∧| 国产精品天干天干在线综合| 亚洲免费在线播放| 视频在线观看91| 国产在线看一区| 91视频免费观看| 91精品国产综合久久精品图片 | 亚洲图片有声小说| 老司机午夜精品| 成人高清伦理免费影院在线观看| 欧美在线观看一二区| 日韩欧美一区二区在线视频| 中文字幕巨乱亚洲| 三级精品在线观看| 国产+成+人+亚洲欧洲自线| 色婷婷av久久久久久久| 日韩一区二区三区免费看| 中文字幕的久久| 日韩电影一区二区三区四区| 成人高清在线视频| 欧美日韩国产首页| 中文字幕的久久| 日本不卡一区二区| 99精品热视频| 日韩久久久精品| 亚洲欧美日韩成人高清在线一区| 午夜激情久久久| 成人免费毛片aaaaa**| 欧美老人xxxx18| 国产精品久久午夜夜伦鲁鲁| 男女激情视频一区| 91丨九色丨蝌蚪富婆spa| 精品sm在线观看| 亚洲国产另类精品专区| 国产iv一区二区三区| 欧美一区二区精品久久911| 国产精品国产精品国产专区不蜜| 欧美aaaaa成人免费观看视频| 91香蕉视频污| 国产欧美一区二区精品性| 午夜精品aaa| 色噜噜狠狠成人中文综合| 久久久777精品电影网影网| 日韩**一区毛片| 一本久道中文字幕精品亚洲嫩| 久久亚洲影视婷婷| 三级成人在线视频| 欧美在线观看禁18| 中文字幕一区二| 成人在线视频一区二区| 欧美va在线播放| 亚洲3atv精品一区二区三区| 97久久精品人人澡人人爽| 久久精品日产第一区二区三区高清版| 三级成人在线视频| 在线观看成人小视频| 亚洲天天做日日做天天谢日日欢| 国产黄色精品视频| 久久日韩精品一区二区五区| 免费成人在线播放| 欧美丰满嫩嫩电影| 亚洲福中文字幕伊人影院| 色综合久久中文字幕综合网| 国产精品久久久久一区二区三区| 国产精品18久久久久久久久| 欧美tickle裸体挠脚心vk| 日日骚欧美日韩| 欧美日韩一级大片网址| 一级日本不卡的影视| 日本韩国欧美三级| 亚洲精品国产精华液| 一本色道**综合亚洲精品蜜桃冫| 国产精品麻豆视频| 成人伦理片在线| 国产精品精品国产色婷婷| 成人网在线免费视频| 国产亚洲1区2区3区| 国产美女娇喘av呻吟久久| 久久久国产一区二区三区四区小说 | 欧美少妇bbb| 一区二区三区 在线观看视频| 91欧美激情一区二区三区成人| 亚洲色图都市小说| 欧美专区日韩专区| 午夜伦欧美伦电影理论片| 日韩一区二区三区视频在线| 激情综合网最新| 中文乱码免费一区二区| av午夜一区麻豆| 亚洲精品视频免费观看| 欧美私人免费视频| 日韩高清欧美激情| 久久综合九色综合欧美亚洲| 粉嫩久久99精品久久久久久夜| 国产精品国产三级国产专播品爱网| 91麻豆精品视频| 亚洲国产精品一区二区www在线| 欧美剧情片在线观看| 久久精品国产99久久6| 久久久久久毛片| 不卡的电影网站| 亚洲国产中文字幕| 日韩精品一区二区三区视频播放| 国产在线看一区| 亚洲欧美日本在线| 欧美精品一卡两卡| 国产在线播放一区二区三区| 国产精品亲子乱子伦xxxx裸| 色婷婷国产精品| 秋霞电影一区二区| 亚洲国产岛国毛片在线| 欧美性受xxxx黑人xyx性爽| 日韩精品一卡二卡三卡四卡无卡| 欧美精品一区二区三区在线播放 | 不卡在线视频中文字幕| 亚洲一区二区偷拍精品| 日韩一区二区在线观看视频| 国产成人超碰人人澡人人澡| 一区二区三区丝袜| 欧美成人乱码一区二区三区| 成人福利在线看| 午夜精品一区二区三区免费视频 | 久久久久久久网| 在线国产电影不卡| 看片网站欧美日韩| 成人欧美一区二区三区白人| 日韩视频在线观看一区二区| av激情综合网| 丝袜亚洲另类丝袜在线| 国产女人aaa级久久久级| 欧美视频一二三区| 成人激情图片网| 日韩不卡在线观看日韩不卡视频| 国产欧美日韩麻豆91| 在线成人av影院| 不卡影院免费观看| 麻豆精品国产传媒mv男同| 亚洲乱码一区二区三区在线观看| 日韩一区二区三区av| 91视频你懂的| 国产一区二区看久久| 香蕉久久一区二区不卡无毒影院| 国产欧美日韩在线看| 日韩一区和二区| 在线观看区一区二| 成人性视频网站| 久久99精品久久久久久| 亚洲午夜在线视频| 中文字幕视频一区| 久久免费精品国产久精品久久久久| 欧美日韩国产一区二区三区地区| 99re这里都是精品| 国产黄色91视频| 另类小说视频一区二区| 午夜欧美一区二区三区在线播放| 亚洲欧洲国产日韩| 久久众筹精品私拍模特| 91精品国产免费| 欧美色精品在线视频| 色偷偷88欧美精品久久久| 风间由美一区二区av101| 另类专区欧美蜜桃臀第一页| 五月天国产精品| 亚洲一区av在线| 亚洲色图20p| 亚洲欧美在线视频观看| 国产清纯白嫩初高生在线观看91| 精品粉嫩超白一线天av| 国产精品嫩草影院av蜜臀| 久久久精品tv| 国产无一区二区| 欧美国产日韩一二三区|