tomcat-taglibs-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eric Haszlakiewicz <...@swapsimple.com>
Subject Re: URL-escape a var with JSTL
Date Thu, 02 Mar 2006 04:46:00 GMT
> ogjunk-taglib@yahoo.com wrote:
> >Hello,
> >I need to URL-escape a variable in JSTL, and am not having much luck 
> >finding the way to do it.
> >
> >For example, I currently do:
> ><c:set var="foo" param="${param.foo}"/>
> >
> >Since "foo" param may include some funky characters, I need to URL-escape 
> >that.  So I'm looking for something similar to:
> >
> ><c:set var="foo" param="${param.foo}" escapeXml="true"/>

<c:set var="foo"><c:out value="${param.foo}"></c:set>
or
<c:set var="foo" value="${fn:escapeXml(param.foo)}"/>

However, that's encoded with HTML/XML character entities, NOT url encoding.
i.e.
    input value  |   c:out   |    url encoding
    "foo bar"      "foo bar"      "foo+bar"
    "A&B"        | "A&amp;B" |    "A%26B"

> >What's the right way to URL-encode a variable with JSTL, without resorting 
> >to scriptlets?

	Note that URLEncoder.encode() is a static method, so if you really
do mean "url encode" you could write a short tld to allow you to access
it as an EL function.  Or, you could use the jakarta String TagLib, which
has a encodeUrl tag:
http://jakarta.apache.org/taglibs/doc/string-doc/string-1.1.0/index.html#encodeUrl

eric

---------------------------------------------------------------------
To unsubscribe, e-mail: taglibs-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: taglibs-user-help@jakarta.apache.org


Mime
View raw message