get queryString of a URL on FreeMarker

franticfrantic picture franticfrantic · Jan 17, 2013 · Viewed 18.3k times · Source

learning FTL here.

I'm trying to get add a query string on my FTL page, like http://localhost/search, i'd like to add a query string on the URL, say http://localhost/search?bing so that user could switch with the default setting when there is no query string.

However, I have no luck on grabbing the queryString from the URL. I'm also trying to avoid using a JavaScript solution on this.

here's my code:

<#if RequestParameters.bing?exists >
    <#assign useServer = "http://www.bing.com">
<#else>
    <#assign useServer = "http://www.google.com">
</#if>

<h1>${useServer}</h1>

typing in the queryString into the url still returns http://www.google.com on the h1.

Answer

TheWhiteRabbit picture TheWhiteRabbit · Jan 17, 2013

For query string ?param1=abc&param2=123, you can retrive params like below:

${RequestParameters.param1} & ${RequestParameters.param2}

And also try <#if RequestParameters.bing??>

parameters are something that followed by < protocol >://< host >:< port >?< param1 >&< param2 >&..

for example in https://www.google.co.in/search?q=StackOverflow URL param name is q and value is 'StackOverflow'