问题
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
.
回答1:
For query string ?param1=abc¶m2=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'
回答2:
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.
来源:https://stackoverflow.com/questions/14372165/get-querystring-of-a-url-on-freemarker