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

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

?? nestediteratetag.java

?? struts的源代碼
?? JAVA
字號:
/*
 * $Id: NestedIterateTag.java 54929 2004-10-16 16:38:42Z germuska $ 
 *
 * Copyright 1999-2004 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.apache.struts.taglib.nested.logic;

import java.util.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspException;

import org.apache.struts.taglib.logic.IterateTag;
import org.apache.struts.taglib.nested.NestedNameSupport;
import org.apache.struts.taglib.nested.NestedPropertyHelper;

/**
 * NestedIterateTag.
 * Slightly more complex that the other extensions. This one has to yield a
 * proper index property. Very taxing.
 *
 * @since Struts 1.1
 * @version $Rev: 54929 $ $Date: 2004-10-16 17:38:42 +0100 (Sat, 16 Oct 2004) $
 */
public class NestedIterateTag extends IterateTag implements NestedNameSupport {

  /**
   * Overriding method of the heart of the matter. Gets the relative property
   * and leaves the rest up to the original tag implementation. Sweet.
   * @return int JSP continuation directive.
   *             This is in the hands of the super class.
   */
  public int doStartTag() throws JspException {
    // original values
    originalName = getName();
    originalProperty = getProperty();

    // set the ID to make the super tag happy
    if (id == null || id.trim().length() == 0) { id = property; }

    // the request object
    HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();

    // original nesting details
    originalNesting = NestedPropertyHelper.getCurrentProperty(request);
    originalNestingName = NestedPropertyHelper.getCurrentName(request, this);

    // set the bean if it's been provided
    // (the bean that's been provided! get it!?... nevermind)
    if (getName() == null) {
      // the qualified nesting value
      nesting = NestedPropertyHelper.getAdjustedProperty(request, getProperty());
    } else {
      // it's just the property
      nesting = getProperty();
    }

    // set the properties
    NestedPropertyHelper.setNestedProperties(request, this);

    // get the original result
    int temp = super.doStartTag();

    // set the new reference (including the index etc)
    NestedPropertyHelper.setName(request, getName());
    NestedPropertyHelper.setProperty(request, deriveNestedProperty());

    // return the result
    return temp;
  }

  /**
   * The only added property to the class. For use in proper nesting.
   * @return String value of the property and the current index or mapping.
   */
  private String deriveNestedProperty() {
    Object idObj = pageContext.getAttribute(id);
    if (idObj instanceof Map.Entry) {
      return nesting + "("+ ((Map.Entry)idObj).getKey() +")";
    } else {
      return nesting + "["+ this.getIndex() +"]";
    }
  }

  /**
   * This is only overriden as the include reference will need it's index
   * updated.
   *
   * @return int JSP continuation directive.
   */
  public int doAfterBody() throws JspException {
    // store original result
    int temp = super.doAfterBody();
    HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();
    if (temp != SKIP_BODY) {
      // set the new reference
      NestedPropertyHelper.setProperty(request, deriveNestedProperty());
    }
    // return super result
    return temp;
  }

  /**
   * Complete the processing of the tag. The nested tags here will restore
   * all the original value for the tag itself and the nesting context.
   * @return int to describe the next step for the JSP processor
   * @throws JspException for the bad things JSP's do
   */
  public int doEndTag() throws JspException {
    // the super's thing
    int i = super.doEndTag();

    // request
    HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();
    // reset the original tag values
    super.setName(originalName);
    super.setProperty(originalProperty);

    // reset the original nesting values
    if (originalNesting == null) {
      NestedPropertyHelper.deleteReference(request);
    } else {
      NestedPropertyHelper.setProperty(request, originalNesting);
      NestedPropertyHelper.setName(request, originalNestingName);
    }
    // job done
    return i;
  }

  /**
   * Release the tag's resources and reset the values.
   */
  public void release() {
    // let the super release
    super.release();
    // reset the original value place holders
    originalName = null;
    originalProperty = null;
    originalNesting = null;
    originalNestingName = null;
  }


  // The current nesting
  private String nesting = null;

  // original tag properties
  private String originalName = null;
  private String originalProperty = null;

  // original nesting environment
  private String originalNesting = null;
  private String originalNestingName = null;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合婷婷久久| 国产欧美精品一区二区三区四区| 国产自产v一区二区三区c| 亚洲一区二区高清| 日韩理论片中文av| 中文字幕一区二区不卡| 国产精品久久国产精麻豆99网站 | 亚洲综合激情另类小说区| 久久精品国产99国产| 久久国产尿小便嘘嘘| 色综合久久久久| 欧美日韩免费一区二区三区| 欧美女孩性生活视频| 69p69国产精品| 欧美久久一区二区| 欧美一区二区三区免费| 2023国产精品| 日韩一区在线看| 国产精一区二区三区| 不卡一区在线观看| 91久久精品午夜一区二区| 91在线看国产| 欧美一区三区四区| 亚洲影视资源网| 91污片在线观看| 欧美一二三在线| 国产精品理伦片| 国产经典欧美精品| 色8久久精品久久久久久蜜| 国产女人aaa级久久久级| 国内精品第一页| 久久免费午夜影院| 亚洲嫩草精品久久| 日韩国产欧美在线观看| 国产精品66部| 国产亲近乱来精品视频| 国产91富婆露脸刺激对白| 色94色欧美sute亚洲线路一久| 国产精品亲子乱子伦xxxx裸| 天天色 色综合| 国产在线精品一区二区| 成人午夜大片免费观看| 欧美无砖砖区免费| 国产午夜精品在线观看| 亚洲一区二区偷拍精品| 欧美视频你懂的| 午夜电影一区二区| 日韩欧美国产一二三区| 亚洲欧美偷拍卡通变态| 欧美自拍丝袜亚洲| 国产欧美日韩综合精品一区二区| 国产视频视频一区| www.亚洲国产| 777色狠狠一区二区三区| 水蜜桃久久夜色精品一区的特点 | 6080日韩午夜伦伦午夜伦| 日本三级韩国三级欧美三级| 欧美成人综合网站| 亚洲午夜一区二区| 9久草视频在线视频精品| 亚洲少妇30p| 4438亚洲最大| 国产成人av福利| 亚洲精品国产品国语在线app| 国产成人亚洲精品青草天美 | 成人午夜免费视频| 亚洲永久免费视频| 欧美变态tickling挠脚心| 福利一区二区在线| 午夜久久久久久久久| 2021国产精品久久精品| 91成人免费网站| 狠狠色综合播放一区二区| 国产精品久久久久国产精品日日| 欧美欧美欧美欧美| 91一区一区三区| 久久国产麻豆精品| 亚洲综合男人的天堂| 久久婷婷色综合| 91亚洲国产成人精品一区二三| 欧美二区三区91| 成人中文字幕合集| 免费成人在线视频观看| 欧美日韩成人一区| 北岛玲一区二区三区四区| 日韩高清在线一区| 亚洲精品国产一区二区三区四区在线| 欧美丰满少妇xxxxx高潮对白| 97久久久精品综合88久久| 久久99精品国产.久久久久 | 日韩成人一区二区三区在线观看| 国产日韩欧美a| 欧美一级免费观看| 欧美在线观看视频在线| 国产在线看一区| 日本女优在线视频一区二区| 亚洲男人电影天堂| 久久亚洲二区三区| 日韩欧美在线影院| 欧美日韩午夜在线| 在线观看网站黄不卡| 北条麻妃一区二区三区| 风流少妇一区二区| 久久99精品国产.久久久久| 亚洲va欧美va天堂v国产综合| 538prom精品视频线放| 色综合婷婷久久| av在线不卡免费看| 粉嫩av一区二区三区在线播放| 久久99国产精品成人| 日本美女一区二区三区视频| 亚洲国产日韩a在线播放| 亚洲伦理在线精品| 亚洲人xxxx| 亚洲免费在线视频一区 二区| 国产精品三级av在线播放| 中文字幕不卡的av| 欧美精品99久久久**| 91高清视频免费看| 欧美主播一区二区三区美女| 欧美中文字幕一区二区三区亚洲| 91视频观看视频| 91福利在线观看| 欧美三级视频在线观看| 在线综合视频播放| 日韩一区二区电影网| 精品国产一区二区三区忘忧草 | 久久久777精品电影网影网| 精品国产一区久久| 国产亚洲自拍一区| 国产精品麻豆99久久久久久| 日韩精品一区国产麻豆| 精品粉嫩超白一线天av| 欧美国产成人在线| 中文字幕一区二区在线播放| 亚洲欧洲制服丝袜| 亚洲成人综合网站| 激情综合五月婷婷| av电影在线不卡| 欧美三级电影精品| 精品国产乱码久久久久久1区2区| 久久综合色婷婷| 自拍av一区二区三区| 亚洲一区二区三区四区中文字幕| 三级在线观看一区二区| 国模大尺度一区二区三区| www.亚洲人| 91精品婷婷国产综合久久竹菊| 精品国产91乱码一区二区三区| 中文字幕av在线一区二区三区| 亚洲综合在线观看视频| 国产亚洲一区字幕| 亚洲一区免费观看| 国产呦精品一区二区三区网站| jvid福利写真一区二区三区| 91黄色免费看| 久久人人超碰精品| 亚洲高清一区二区三区| 国产麻豆视频一区二区| 欧美做爰猛烈大尺度电影无法无天| 日韩一区二区在线看| 日韩毛片在线免费观看| 日韩av中文字幕一区二区三区| 大尺度一区二区| 91精品在线免费观看| 亚洲色大成网站www久久九九| 日本va欧美va精品| 日本高清不卡一区| 国产三级欧美三级| 青青青爽久久午夜综合久久午夜| 粉嫩蜜臀av国产精品网站| 777亚洲妇女| 亚洲自拍偷拍综合| 成人黄色片在线观看| 精品国产乱码久久久久久1区2区| 亚洲国产精品麻豆| av电影在线不卡| 国产精品色一区二区三区| 激情综合网av| 欧美一区二区三区免费大片| 亚洲自拍偷拍麻豆| 97精品久久久午夜一区二区三区 | 亚洲精品国产品国语在线app| 国产91精品在线观看| 欧美电视剧免费观看| 亚洲韩国精品一区| 91国偷自产一区二区三区成为亚洲经典| 国产午夜一区二区三区| 精品一区二区三区香蕉蜜桃| 欧美理论片在线| 午夜影院久久久| 欧美在线短视频| 一区二区三区在线观看动漫| 成人小视频在线| 日本一区二区免费在线观看视频| 国产制服丝袜一区| 精品成人一区二区三区四区| 麻豆精品视频在线观看视频| 波多野结衣在线一区| 欧美高清在线精品一区|