请原谅我的无知,但我是 Velocity 的新手,并试图解决别人的问题。我需要在速度模板中编码一个 URL。我创建了一个 url,作为查询字符串的一部分,我传入了一个用户创建的页面名称。此页面可以包含特殊字符,例如 ëðû。该网址看起来像http://foo.com/page1/jz?page=SpecialChars_ëðû
问问题
12667 次
3 回答
4
要在模板中编码 URL,您可以使用:
$esc.url($myUrl)
这是EscapeTool的一部分。
注意:这需要使用velocity tools jar,除了velocity jar。(如果你没有它,它不会抛出异常)。此外,您可能想检查您的配置,如此处所述
于 2010-03-26T06:20:22.477 回答
1
I know it is late. Here is how I solved this today. In the class calling the engine, you could say
configure("esc",new EscapeTool());
context.put("url", "http://www.google.com");
Now in the template you could say
$esc.url($url)
于 2014-10-22T13:51:14.487 回答
-1
我只是不愿意在速度中使用 EscapeTool 进行 url 编码。因此,这是我得到的解决方案 -
您可以使用$httpUtil.decodeURL($siteURL) / $httpUtil.encodeURL($siteURL)在 Velocity 中进行 URL 编码
此外,您可以$htmlUtil.escapeAttribute()
用于在 Velocity 中转义 text/html 内容。
$htmlUtil.escapeAttribute($refSiteName)
于 2015-04-28T10:19:02.100 回答