get queryString of a URL on FreeMarker

痞子三分冷 提交于 2019-12-29 07:37:08

问题


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&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'




回答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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!