1 16 17 package org.apache.taglibs.standard.tag.common.core; 18 19 import javax.servlet.jsp.PageContext ; 20 import javax.servlet.jsp.tagext.TagSupport ; 21 import javax.servlet.jsp.tagext.TryCatchFinally ; 22 23 31 32 public class CatchTag extends TagSupport implements TryCatchFinally { 33 34 38 39 42 public CatchTag() { 44 super(); 45 init(); 46 } 47 48 public void release() { 50 super.release(); 51 init(); 52 } 53 54 private void init() { 55 var = null; 56 } 57 58 59 62 private String var; private boolean caught; 65 66 69 public int doStartTag() { 70 caught = false; 71 return EVAL_BODY_INCLUDE; 72 } 73 74 public void doCatch(Throwable t) { 75 if (var != null) 76 pageContext.setAttribute(var, t, PageContext.PAGE_SCOPE); 77 caught = true; 78 } 79 80 public void doFinally() { 81 if (var != null && !caught) 82 pageContext.removeAttribute(var, PageContext.PAGE_SCOPE); 83 } 84 85 86 89 public void setVar(String var) { 90 this.var = var; 91 } 92 93 } 94 | Popular Tags |