2013-01-17 12 views
6

apprendimento FTL qui.get queryString di un URL su FreeMarker

Sto cercando di ottenere una stringa di query sulla mia pagina FTL, come http://localhost/search, vorrei aggiungere una stringa di query sull'URL, ad esempio http://localhost/search?bing in modo che l'utente possa passare con l'impostazione predefinita quando non c'è stringa della domanda.

Tuttavia, non ho fortuna nell'acquisire queryString dall'URL. Sto anche cercando di evitare l'uso di una soluzione JavaScript su questo.

ecco il mio codice:

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

<h1>${useServer}</h1> 

digitando il queryString nell'URL restituisce ancora http://www.google.com sul h1.

risposta

11

Per stringa di query ?param1=abc&param2=123, è possibile retrive params come di seguito:

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

E anche cercare <#if RequestParameters.bing??>

parametri sono qualcosa che seguito da < protocollo>: // < host>: < porta>? < param1> & < param2> & ..

per esempio in https://www.google.co.in/search?q=StackOverflow URL param name è q e il valore è 'StackOverflow'

4

ho capito di usare 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"> 

funzionato come un fascino.