10

在这里学习超光速。

我正在尝试在我的 FTL 页面上添加一个查询字符串,例如http://localhost/search,我想在 URL 上添加一个查询字符串,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>

在 url中输入 queryString 仍然会返回http://www.google.com.h1

4

3 回答 3

19

对于查询字符串?param1=abc&param2=123,您可以检索如下参数:

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

也试试<#if RequestParameters.bing??>

参数是跟在 <protocol>://<host>:<port> 之后的东西<参数1>&<参数2>&..

例如在https://www.google.co.in/search?q=StackOverflow URL 参数名称是q并且值是 'StackOverflow'

于 2013-01-17T04:38:48.267 回答
5

我想出使用 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">

像魅力一样工作。

于 2013-01-18T05:08:22.560 回答
0

我试图用第一篇文章的代码检查请求参数:

<#if RequestParameters.bing??>

但是什么也没发生。然后我检查<#if RequestParameters.param1??>然后我得到了结果。

我希望它可以帮助某人。

于 2020-04-02T07:52:20.727 回答