Update of /var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib
In directory james.mmbase.org:/tmp/cvs-serv31024

Modified Files:
        ParamTag.java 
Log Message:
relaxed resolving of parent tag a bit


See also: 
http://cvs.mmbase.org/viewcvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib


Index: ParamTag.java
===================================================================
RCS file: 
/var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/ParamTag.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- ParamTag.java       29 Aug 2008 12:40:29 -0000      1.19
+++ ParamTag.java       4 Sep 2008 15:02:58 -0000       1.20
@@ -19,23 +19,24 @@
  * Adds an extra parameter to the parent [EMAIL PROTECTED] ParamHandler} tag 
(e.g. an mm:link tag).
  *
  * @author Michiel Meeuwissen
- * @version $Id: ParamTag.java,v 1.19 2008/08/29 12:40:29 michiel Exp $
+ * @version $Id: ParamTag.java,v 1.20 2008/09/04 15:02:58 michiel Exp $
  */
 
 public class ParamTag extends AbstractParamTag implements ParamHandler {
     private static final Logger log = 
Logging.getLoggerInstance(ParamTag.class);
 
     private ParamHandler paramHandler;
+    private Object prev;
 
     public int doStartTag() throws JspException {
-
-        paramHandler = findParentTag(ParamHandler.class, null, false);
-        if (paramHandler == null) {
             paramHandler = (ParamHandler) 
pageContext.getAttribute(ParamHandler.KEY, ParamHandler.SCOPE);
-        }
         if (paramHandler == null) {
-            throw new JspTagException ("ould not find parent of type 
org.mmbase.bridge.jsp.taglib.ParamHandler, not could it be found in an 
attribute " + KEY);
+            paramHandler = findParentTag(ParamHandler.class, null);
+            prev = null;
+        } else {
+            prev = paramHandler;
         }
+        pageContext.setAttribute(ParamHandler.KEY, this, ParamHandler.SCOPE);
         return super.doStartTag();
     }
 
@@ -58,7 +59,9 @@
 
     public int doEndTag() throws JspTagException {
         int r = super.doEndTag();
+        pageContext.setAttribute(ParamHandler.KEY, prev, ParamHandler.SCOPE);
         paramHandler = null;
+        prev = null;
         return r;
 
     }
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to