什么是正确的游戏!将查询字符串(例如?a = x& b = y)添加到渲染模板调用的方法,例如:
render("@Login.index");
另外,我还想在后续的表单帖子中维护这个查询字符串(以下代码片段的粗略尝试不能编译):
#{form @Login.login() + request.querystring, method:'post'}
我可能会找出一些kludgey解决方案明确地将原始查询字符串作为参数传递,然后将其存储在隐藏的表单字段中,但是知道Play!我确信有更优雅的东西......有人能告诉我它是什么吗?
答案 0 :(得分:0)
要做到这一点,我认为您需要改变编码表单的方式......
试试吧:
%{
action = play.mvc.Router.reverse("Login.login");
for (String key : params.all() ) {
if (!"body".equals(key) && !"controller".equals(key) && !"action".equals(key)) {
action = action.add(key, params.get(key)[0]);
}
}
}%
#{form action, method:'post'}
...
#{/form}
答案 1 :(得分:0)
播放!是无国籍的,所以你要么必须修复这些参数:
#{a @login().add('a', _caller.params.a).add('b', _caller.params.b)}login#{/a}
或者将游戏保留在Play的缓存中:
Cache.set(session.getId(), params.get("a"), "5mn");