Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## Get the query string as a hashmap
- ## NOTE: Things will break if you use some special characters (""","&", etc. )
- #set($queryParams = $contents.getEmptyMap())
- #foreach($key in $request.getParameterNames())
- #set($value = $request.getParameter($!{key}))
- #set($key = $key.replaceAll("[^a-zA-Z0-9]",""))
- ## #set($queryParams.y = ${value})
- $render.eval("${esc.h}set(${esc.d}queryParams.${key} = ${esc.d}{value})")
- #end
- ## Convert query string hashmap back to a query string ($queryString)
- #macro(toQueryString $queryMap)
- #set($queryString = "")
- #foreach($item in $queryMap.entrySet())
- #if($velocityCount == 1)
- #set($joiner = "?")
- #else
- #set($joiner = "&")
- #end
- #set($value = $UtilMethods.encodeURL($item.value))
- #set($queryString = "${queryString}$!{joiner}${item.key}=${value}")
- #set($value = "")
- #set($joiner = "")
- #end
- #end
- ## Example usage:
- ## Clone the existing query string data, make changes to it,
- ## then put it back in a query string for the current page
- #set($queryParams2 = $queryParams.clone())
- #set($queryParams2.y = "2015")
- #toQueryString($queryParams2)
- <a href="${VTLSERVLET_URI}$!{queryString}">Link</a>
Advertisement
Add Comment
Please, Sign In to add comment