Son*_*123 14 urlencode playframework playframework-2.0
如何使用Play 2在模板中编码URL?
我搜索一个这样的帮手:
<a href="@urlEncode(name)">urlEncode doesn't work now</a>
Run Code Online (Sandbox Code Playgroud)
我找到了一个pull请求,但这似乎不适用于实际的play 2.0.3版本.
Exu*_*ery 25
从2.1开始,你可以使用 @helper.urlEncode
<a href="@helper.urlEncode(foo)">my href is urlencoded</a>
Run Code Online (Sandbox Code Playgroud)
bie*_*ior 14
正如我在链接中看到的那样,它将在Play 2.1中得到解决
最快的解决方案是在您的控制器中放置方法(Application.java在此示例中)
public static String EncodeURL(String url) throws java.io.UnsupportedEncodingException {
url = java.net.URLEncoder.encode(url, "UTF-8");
return url;
}
public static String EncodeURL(Call call) throws java.io.UnsupportedEncodingException {
return EncodeURL(call.toString());
}
Run Code Online (Sandbox Code Playgroud)
然后根据需要在视图中使用它:
<a href='@Application.EncodeURL(routes.Application.someAction())'>
Encoded url form router</a> <br/>
<a href='@Application.EncodeURL("/this/is/url/to/encode")'>
Encoded url from string</a> <br/>
<a href='@routes.Application.someAction()?encoded=@Application.EncodeURL(routes.Application.someOtherAction())'>
Url mixed normal+encoded</a> <br/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14383 次 |
| 最近记录: |