我正在通过LinkedIn API向用户模型添加更多信息,所有这些代码都在控制器中处理。将信息添加到模型后,我将在新视图中重新呈现(User类)表单。有没有办法将附加信息附加到此表单(内置于Play!),以显示API调用已更新的字段?
用例:
用户进入查看/编辑个人资料页面
用户点击“从LinkedIn导入信息”
对LinkedIn API进行API调用 - 然后将用户返回到特定的控制器(称为Social),该控制器处理JSON到JAVA的数据转换,并将新数据绑定到用户模型,并将更新的模型存储在数据库中。
然后,控制器将用户重定向到index()控制器,该控制器再次呈现视图/编辑配置文件视图。 (现在我想添加一些功能,用户可以看到由于API调用而修改了他的个人资料中的哪些字段。)
例如,类似于form.errrors()
(类似于form.info()或其他东西)。如果这是不可能的,那么是否可以通过任何方式获取对FieldElements的访问权限,并为其添加内容?
干杯!
答案 0 :(得分:2)
我没有清楚地看到问题。
当控制器将用户重定向到其个人资料页面时,您只需使用数据库中的数据填充表单。
类似的东西:
public static Result profile(String userId) {
Form<User> userForm = form(User.class);
User user = User.findById(userId); // data have been set in the database
if (user != null) {
userForm = userForm.fill(user);
}
return redirect(your.view.render(userForm));
}