Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

get queryString of a URL on FreeMarker

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.

like image 358
franticfrantic Avatar asked Jan 17 '13 04:01

franticfrantic


2 Answers

I figured out to use request.getParameter("param")

<#if (request.getParameter("param")?has_content && request.getParameter("param")?lower_case?matches("true"))>
    <#assign useServer = "http://bing.com">
<#else>
    <#assign useServer = "http://google.com">

Worked like a charm.

like image 136
franticfrantic Avatar answered Nov 14 '22 10:11

franticfrantic


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'

like image 23
TheWhiteRabbit Avatar answered Nov 14 '22 11:11

TheWhiteRabbit