HTML 表单未对 Velocity 中搜索的 URL 进行编码

发布于 2024-10-24 19:10:41 字数 704 浏览 8 评论 0原文

我在搜索查询的 URL 编码方面遇到问题,我在 Velocity 中遇到了这个问题模板。

<form method="GET" action="$req.contextPath/plugins/peopledirectory/search.action">
    <div class="greyboxfill" style="width: 420px">
        <input type="hidden" name="pageId" value="$pageId"/>
        <input type="text" name="search" id="search" size="30" value="$search"/>
        <input type="submit" name="searchbtn" value="Pesquisar">
    </div>
</form>

问题是,当我单击提交按钮时,搜索字符串不是 URL 编码的,如果我搜索类似 ME&A 的内容,它只会搜索 ME。 Velocity 中是否需要任何定义才能使其发挥作用?

我在网上看到表单 HTML 标签有一个内部 URL 编码,为什么在这种情况下它不起作用?

I'm having an issue with the URL encoding of a search query, I have this in a Velocity template.

<form method="GET" action="$req.contextPath/plugins/peopledirectory/search.action">
    <div class="greyboxfill" style="width: 420px">
        <input type="hidden" name="pageId" value="$pageId"/>
        <input type="text" name="search" id="search" size="30" value="$search"/>
        <input type="submit" name="searchbtn" value="Pesquisar">
    </div>
</form>

The problem is that when I click the submit button, the search string is not URL encoded and if I search for something like ME&A, it only searches for ME. Is there any definition needed in Velocity to make that work?

I seen around the web that the form HTML tag has a inner URL encoding, why is it not working in this case?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

南巷近海 2024-10-31 19:10:41

最好的办法是使用 EscapeTool< 显式转义字符串/a> 来自 VelocityTools。这是一个额外的库,您需要下载它,然后将其包含在速度上下文中。

URL 编码就像这样简单:

$escape.url($search)

The best thing to do is explicitly escape the string using EscapeTool from VelocityTools. This is an additional library that you'll need to download and then include in your velocity context.

URL encoding is then as easy as:

$escape.url($search)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文