Update of /var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib
In directory james.mmbase.org:/tmp/cvs-serv6927
Modified Files:
ParamHandler.java ParamTag.java
Log Message:
Made it possible for ParamHandler tags, to accept params from inside a
sub-request (like a mm:include or a tagfile). At the moment supported by only
mm:link/mm:url, so that you can more easily make your own 'link' tags using
tag-files
See also:
http://cvs.mmbase.org/viewcvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib
Index: ParamHandler.java
===================================================================
RCS file:
/var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/ParamHandler.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- ParamHandler.java 14 Jul 2007 09:26:49 -0000 1.4
+++ ParamHandler.java 29 Aug 2008 12:40:29 -0000 1.5
@@ -10,16 +10,27 @@
package org.mmbase.bridge.jsp.taglib;
import javax.servlet.jsp.JspTagException;
+import javax.servlet.jsp.PageContext;
/**
- * ParamHandlers can have the <mm:param> tag as subtag
+ * ParamHandlers can have the <mm:param> ([EMAIL PROTECTED] ParamTag})
tag as subtag.
*
* @author Michiel Meeuwissen
* @since MMBase-1.7
* @see org.mmbase.bridge.jsp.taglib.pageflow.UrlTag
- * @version $Id: ParamHandler.java,v 1.4 2007/07/14 09:26:49 michiel Exp $
+ * @version $Id: ParamHandler.java,v 1.5 2008/08/29 12:40:29 michiel Exp $
*/
public interface ParamHandler {
+
+ /**
+ * @since MMBase-1.9
+ */
+ public static final String KEY = "org.mmbase.paramhandler";
+ /**
+ * @since MMBase-1.9
+ */
+ public static final int SCOPE = PageContext.REQUEST_SCOPE;
+
public void addParameter(String key, Object value) throws JspTagException;
}
Index: ParamTag.java
===================================================================
RCS file:
/var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/ParamTag.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- ParamTag.java 3 Feb 2008 17:33:56 -0000 1.18
+++ ParamTag.java 29 Aug 2008 12:40:29 -0000 1.19
@@ -16,10 +16,10 @@
import org.mmbase.util.logging.*;
/**
- * Adds an extra parameter to the parent URL tag.
+ * 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.18 2008/02/03 17:33:56 nklasens Exp $
+ * @version $Id: ParamTag.java,v 1.19 2008/08/29 12:40:29 michiel Exp $
*/
public class ParamTag extends AbstractParamTag implements ParamHandler {
@@ -28,7 +28,14 @@
private ParamHandler paramHandler;
public int doStartTag() throws JspException {
- paramHandler = findParentTag(ParamHandler.class, null);
+
+ 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);
+ }
return super.doStartTag();
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs