Update of /var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/pageflow
In directory james.mmbase.org:/tmp/cvs-serv31443
Modified Files:
Url.java
Log Message:
MMB-1600
See also:
http://cvs.mmbase.org/viewcvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/pageflow
See also: http://www.mmbase.org/jira/browse/MMB-1600
Index: Url.java
===================================================================
RCS file:
/var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/pageflow/Url.java,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -b -r1.36 -r1.37
--- Url.java 25 Jan 2008 10:20:21 -0000 1.36
+++ Url.java 19 Feb 2008 15:42:15 -0000 1.37
@@ -9,7 +9,9 @@
*/
package org.mmbase.bridge.jsp.taglib.pageflow;
+
import java.util.*;
+import java.util.regex.Pattern;
import java.net.*;
import javax.servlet.jsp.JspTagException;
import javax.servlet.http.HttpServletRequest;
@@ -33,7 +35,7 @@
* <p>
* The creation of the URL is delegated to the MMBase framework.
* </p>
- * @version $Id: Url.java,v 1.36 2008/01/25 10:20:21 michiel Exp $;
+ * @version $Id: Url.java,v 1.37 2008/02/19 15:42:15 michiel Exp $;
* @since MMBase-1.9
*/
public class Url implements Comparable, CharSequence, Casting.Unwrappable {
@@ -166,6 +168,8 @@
}
return result;
}
+
+ final static Pattern ABSOLUTE_URLS = Pattern.compile("(?i)[a-z]+\\:.*");
/**
*
*/
@@ -178,13 +182,18 @@
HttpServletRequest req = (HttpServletRequest)
tag.getPageContext().getRequest();
if (abs.equals("true")) {
- show.append(req.getScheme()).append("://");
+ if (ABSOLUTE_URLS.matcher(page).matches()) {
+ show.append(page);
+ return true;
+ } else {
+ String scheme = req.getScheme();
+ show.append(scheme).append("://");
show.append(req.getServerName());
int port = req.getServerPort();
- String scheme = req.getScheme();
show.append((port == 80 && "http".equals(scheme)) ||
(port == 443 && "https".equals(scheme))
? "" : ":" + port);
+ }
} else if (abs.equals("server")) {
//show.append("/");
} else if (abs.equals("context")) {
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs