HTML 表单未对 Velocity 中搜索的 URL 进行编码
我在搜索查询的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
最好的办法是使用 EscapeTool< 显式转义字符串/a> 来自 VelocityTools。这是一个额外的库,您需要下载它,然后将其包含在速度上下文中。
URL 编码就像这样简单:
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: