Author: michiel
Date: 2009-11-23 11:16:13 +0100 (Mon, 23 Nov 2009)
New Revision: 39839

Modified:
   
mmbase/trunk/applications/taglib/src/main/java/org/mmbase/bridge/jsp/taglib/pageflow/UrlTag.java
Log:
MMB-1897

Modified: 
mmbase/trunk/applications/taglib/src/main/java/org/mmbase/bridge/jsp/taglib/pageflow/UrlTag.java
===================================================================
--- 
mmbase/trunk/applications/taglib/src/main/java/org/mmbase/bridge/jsp/taglib/pageflow/UrlTag.java
    2009-11-23 09:43:45 UTC (rev 39838)
+++ 
mmbase/trunk/applications/taglib/src/main/java/org/mmbase/bridge/jsp/taglib/pageflow/UrlTag.java
    2009-11-23 10:16:13 UTC (rev 39839)
@@ -10,6 +10,7 @@
 package org.mmbase.bridge.jsp.taglib.pageflow;
 
 import java.util.*;
+import java.util.regex.*;
 
 import org.mmbase.util.*;
 import org.mmbase.framework.*;
@@ -38,6 +39,7 @@
     private static final Logger log           = 
Logging.getLoggerInstance(UrlTag.class);
 
     private static Boolean makeRelative       = null;
+    private static Pattern excludeForEncoding = null;
     protected Attribute  referids             = Attribute.NULL;
     protected Map<String, Object> extraParameters      = null;
     protected Map<String, Object> frameworkParameters  = null;
@@ -105,7 +107,19 @@
      * @since MMBase-1.9
      */
     protected boolean encode() throws JspTagException {
-        return encode.getBoolean(this, true);
+        if (excludeForEncoding == null) {
+            String setting = 
pageContext.getServletContext().getInitParameter("mmbase.taglib.url.excludeForEncoding");
+            if (setting == null) {
+                setting = "([.]ico$[.]jpg$|[.]gif$|[.]png$|[.]css$|[.]js$)";
+                log.info("No setting 'mmbase.taglib.url.excludeForEncoding' 
found in web.xml. Taking it '" + setting + "'");
+            }
+            excludeForEncoding = Pattern.compile(setting);
+        }
+        boolean defaultEncode = true;
+        if (excludeForEncoding.matcher(getPage()).matches()) {
+            defaultEncode = false;
+        }
+        return encode.getBoolean(this, defaultEncode);
     }
     /**
      * @since MMBase-1.9

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to