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

📄 definitiontag.java

📁 Tomcat与Java.Web开发技术详解源代码
💻 JAVA
字号:

package mytaglib;
import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.tagext.TagSupport;
import java.util.*;

public class DefinitionTag extends TagSupport {
   private         String definitionName = null;
   private         String screenId;

   public DefinitionTag() {
      super();
   }
   public void setName(String name) {
      this.definitionName = name;
   }
   public void setScreenId(String screenId) {
      this.screenId = screenId;
   }
   public int doStartTag() {
      HashMap screens = null;

      screens = (HashMap) pageContext.getAttribute("screens", pageContext.APPLICATION_SCOPE);
      if (screens == null)
      	pageContext.setAttribute("screens", new HashMap(), pageContext.APPLICATION_SCOPE);
      return EVAL_BODY_INCLUDE;
   }
   public int doEndTag()throws JspTagException {
      try {
         Definition definition = new Definition();
         HashMap screens = null;
         ArrayList parameters = null;
         TagSupport screen = null;

         screens = (HashMap) pageContext.getAttribute("screens", pageContext.APPLICATION_SCOPE);
         if (screens != null) {
            parameters = (ArrayList) screens.get(screenId);
          }

          Iterator	ir = null;

         if (parameters != null)
            ir = parameters.iterator();

         while ((ir != null) && ir.hasNext())
            definition.setParam((Parameter) ir.next());

         // put the definition in the page context
         pageContext.setAttribute(definitionName, definition);
      } catch (Exception ex) {
         ex.printStackTrace();
      }
      return EVAL_PAGE;
   }
   public void release() {
      definitionName = null;
      screenId = null;
      super.release();
   }
}

⌨️ 快捷键说明

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