Templates 玩从控制器调用render()操作的框架
我一直在自定义CRUD模块生成的模板,现在需要重写save方法来保存模板中的自定义数据。我可以保存所有数据,但调用渲染操作时:Templates 玩从控制器调用render()操作的框架,templates,playframework,Templates,Playframework,我一直在自定义CRUD模块生成的模板,现在需要重写save方法来保存模板中的自定义数据。我可以保存所有数据,但调用渲染操作时: render("Users/show.html", user); 我得到模板对象的nullPointerException: 我确实在传递正确的用户对象,因为当我运行此命令时: System.out.println(user.toString()); //render("Users/show.html", user); 它将我的用户写入控制台 任何帮助都将不胜感激
render("Users/show.html", user);
我得到模板对象的nullPointerException:
我确实在传递正确的用户对象,因为当我运行此命令时:
System.out.println(user.toString());
//render("Users/show.html", user);
它将我的用户写入控制台
任何帮助都将不胜感激
玩!1.2.3您的控制器正在渲染
render("Users/show.html", user);
但模板中元素的名称是object。它应该是用户
评论更新
CRUd上的原始模板使用“对象”作为CRUd下实体的抽象。如果您检查控制器的源代码,它会显示:
//ignoring case when template is not found, alternative also uses object
render(type, object);
这意味着有两种选择:
是否在带有@After注释的方法中传递用户对象?在renderArgs中以另一种方法传递用户对象也可能会覆盖传递给模板的值。您可以共享控制器代码吗?我正在覆盖CRUD模块生成的模板,我认为它使用对象作为通用名称。我试着按照你的建议将其更改为用户,但对我收到的错误没有任何影响。谢谢!第二种选择解决了这个问题,但似乎导致了另一个问题。它似乎不再保存我试图添加的职责,在表单中的所有信息都将被保存之前,当我试图调用渲染函数时,模板将崩溃。现在它似乎没有保存所有的数据,并且正在呈现页面,但我想我应该在一个新的问题中问这个问题。非常感谢。