在这里学习FTL。
我正在尝试在我的FTL页面上添加查询字符串,例如http://localhost/search
,我想在网址上添加一个查询字符串,比如http://localhost/search?bing
,以便用户可以切换没有查询字符串时的默认设置。
但是,我从URL中抓取queryString没有运气。 我也试图避免在此使用JavaScript解决方案。
这是我的代码:
<#if RequestParameters.bing?exists >
<#assign useServer = "http://www.bing.com">
<#else>
<#assign useServer = "http://www.google.com">
</#if>
<h1>${useServer}</h1>
在网址中输入queryString仍然会在http://www.google.com
上返回h1
。
答案 0 :(得分:13)
对于查询字符串?param1=abc¶m2=123
,您可以按以下方式检索参数:
${RequestParameters.param1
}&amp; ${RequestParameters.param2}
并尝试<#if RequestParameters.bing??>
后面跟着参数 &LT; protocol&gt;://&lt;主机&gt;:&lt;端口&gt; ?&lt; param1&gt;&amp;&lt; param2&gt;&amp; ..
例如,https://www.google.co.in/search?q=StackOverflow网址参数名称为 q ,值为“StackOverflow”
答案 1 :(得分:4)
我想出来使用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">
像魅力一样工作。
答案 2 :(得分:0)
我试图用第一篇文章的代码检查请求参数:
<#if RequestParameters.bing??>
但是什么也没发生。
然后我检查了<#if RequestParameters.param1??>
然后得到了结果。
我希望它能对某人有所帮助。