转义分号路由playframework 2.0.2
Posted
技术标签:
【中文标题】转义分号路由playframework 2.0.2【英文标题】:Escape semicolon route playframework 2.0.2 【发布时间】:2012-08-15 09:55:01 【问题描述】:我想用 playframework 做一个重定向功能。到目前为止,我的路线中有这个
GET /redirect com.test.redirect(redirecturl: String?="")
和我的控制器:
public static Result redirect(String redirecturl)
return redirect(redirectURL);
这很好,但是当我传递一个包含分号“;”的网址时出现问题
如果我去
http:localhost:9000/redirect?redirecturl=http://www.google.com;testaftersemicolon
它将我重定向到 google.com,但在我的日志中,redirecturl 仅等于“http://www.google.com”在分号后停止。
有没有办法逃脱它?或者在play里面做一个自定义路由?
【问题讨论】:
【参考方案1】:您应该能够通过在路由文件中使用自定义正则表达式来转义它。这在the documentation about routing 中有描述。 基本上类似以下的东西应该可以工作:
GET /redirect/$url<.+> com.test.redirect(url: String?="")
【讨论】:
以上是关于转义分号路由playframework 2.0.2的主要内容,如果未能解决你的问题,请参考以下文章
带有经典查询分隔符的 PlayFramework 1.x 路由
单元测试 PlayFramework 控制器上的“找不到路由器”
PlayFramework HTTPS 仅在 prod 模式下路由,HTTP 在 dev 模式下