我正在尝试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)
有一种方法可以
在java play framework 2.1中包含wro4j http://code.google.com/p/wro4j/吗?
我需要编译hogan.js模板,并在不重新发布路径的情况下做更多事情.
也许我应该使用拦截器(@Before,@ After,@Finally)并创建一个扩展Application的类?
问候
我想知道如何从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)
并且他找到了正确的路线,但抛出了瞬间例外