2013-01-17 5 views
6

Lernen FTL hier.Get QueryString einer URL auf FreeMarker

Ich versuche, eine Abfragezeichenfolge auf meiner FTL-Seite hinzufügen, wie http://localhost/search, ich möchte eine Abfragezeichenfolge auf der URL hinzufügen, sagen http://localhost/search?bing, so dass Benutzer mit der Standardeinstellung wechseln konnte, wenn es keine gibt Abfragezeichenfolge

Allerdings habe ich kein Glück auf den AbfrageString von der URL zu greifen. Ich versuche auch zu vermeiden, eine JavaScript-Lösung zu verwenden.

hier ist mein Code:

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

<h1>${useServer}</h1> 

Typisierung in der querystring in der URL noch gibt http://www.google.com auf dem h1.

Antwort

11

Für Query-String ?param1=abc&param2=123 können Sie params wie unten retrive:

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

Und auch versuchen, <#if RequestParameters.bing??>

Parameter sind etwas, das von < gewählten Protokoll>: // < Host>: < Port>? < param1> & < param2> & ..

zum Beispiel in https://www.google.co.in/search?q=StackOverflow URL param name ist q und Wert 'Stackoverflow'

4

ich herausgefunden request.getParameter ("param") verwenden

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

wie ein Charme.