Java Play 2 - 作为scala中的参数

时间:2012-08-23 19:34:29

标签: java templates scala playframework-2.0

我在scala中编写可重用代码时遇到问题。

如果我有类似

的话
@helper.form(action = routes.Guides.addComment(category,title)) {

有没有办法用变量替换它?

伪代码

@(func : Function)
@helper.form(action = func) {

编辑:

噢......现在有点显而易见了。函数本身应该返回一个字符串,所以我想我可以说这样的事情

@(func :String)
..

return ok (form.render(routes.Guides.test()))

立即测试

2 个答案:

答案 0 :(得分:2)

想通了。

routes.Guides.test().url

您获取了网址,然后您可以将其用作参数

例如

@guidesComment((routes.Guides.addComment(ug.category,ug.title)).url)

guidesComment看起来像这样

@(func: String)

然后像这样使用它

<form action="@func" method="POST">

答案 1 :(得分:2)

我可以建议一个替代方案吗?直接使用Call

@(route: Call)

@helper.form(action = route) {
  ...
}

在Scala中,你甚至可以只传递路径的一部分并从控制器中填充其余部分(当你使用分页时非常有用)。