小编use*_*758的帖子

如何在play 2框架中手动添加表单中的错误

我正在尝试addind表单中的一些错误,但我的代码不编译.
特别是,官方发挥2 api似乎不正确.
我们可以看到errors()返回validationError列表
http://www.playframework.com/documentation/api/2.0/java/play/data/Form.Field.html#errors()

无论如何,如果我尝试

 ValidationError e = new ValidationError("name", "user already exist",new ArrayList());
 filledForm.errors().add(e);
Run Code Online (Sandbox Code Playgroud)

我得到一个错误,方法添加不存在.
我发现它是一个hashmap但是后面的代码不能编译:

 filledForm.errors().put("name","s");
Run Code Online (Sandbox Code Playgroud)

如何添加错误?谢谢

编辑:解决了感谢Julien Lafont

 ValidationError e = new ValidationError("name", "user already exist",new ArrayList());
 ArrayList<ValidationError> errors = new ArrayList<ValidationError>();
 errors.add(e);
 filledForm.errors().put("name",errors);
 return badRequest(loginForm.render(filledForm));
Run Code Online (Sandbox Code Playgroud)

playframework-2.0

13
推荐指数
2
解决办法
4209
查看次数

如何在play框架2.1中使用wro4j


有一种方法可以 在java play framework 2.1中包含wro4j http://code.google.com/p/wro4j/吗?
我需要编译hogan.js模板,并在不重新发布路径的情况下做更多事情.
也许我应该使用拦截器(@Before,@ After,@Finally)并创建一个扩展Application的类?

问候

playframework-2.1

8
推荐指数
1
解决办法
346
查看次数

java play framework 2.1.3如何检索一个routes对象

我想知道如何从global.java类中的字符串中检索路由对象,因为我试图进行动态模块路由:我不想每次添加模块时编辑主路由(子项目)as

- >/mymodule mymodule.Routes

所以为了避免这种情况,我要根据URI路径加载目标路由./模块/ MyModule的

我试着在onRouteRequest()里面编写一些代码如下

Class.forName("mymodule.Routes").routes.lift(request);
Run Code Online (Sandbox Code Playgroud)

但它失败了,有什么建议吗?

编辑1:在游戏中1可能是这样的:

/{controller}/{action} {controller}.{action}
Run Code Online (Sandbox Code Playgroud)

但是在play2中似乎也没有用

编辑2:我目前的Global.java是

import play.GlobalSettings;
import play.Play;
import play.api.mvc.Handler;
import play.mvc.Http;

public class Global extends GlobalSettings
{

@Override
public Handler onRouteRequest(Http.RequestHeader request)
{
    String path = request.path();
    if (path.startsWith("/module/"))
    {
        String[] paths = path.split("/");
        String router = paths[2];
        try
        {
            return (Handler) Class.forName(router + ".Routes", true, Play.application().classloader()).newInstance();
        }
        catch (InstantiationException | IllegalAccessException | ClassNotFoundException e)
        {
            e.printStackTrace();
        }
    }
    return super.onRouteRequest(request);
}
}
Run Code Online (Sandbox Code Playgroud)

并且他找到了正确的路线,但抛出了瞬间例外

playframework-2.0

5
推荐指数
1
解决办法
1149
查看次数