在Play中渲染表单时添加其他信息! 2.0.2

时间:2012-07-23 11:32:24

标签: java forms playframework playframework-2.0

我正在通过LinkedIn API向用户模型添加更多信息,所有这些代码都在控制器中处理。将信息添加到模型后,我将在新视图中重新呈现(User类)表单。有没有办法将附加信息附加到此表单(内置于Play!),以显示API调用已更新的字段?

用例:

  1. 用户进入查看/编辑个人资料页面

  2. 用户点击“从LinkedIn导入信息”

  3. 对LinkedIn API进行API调用 - 然后将用户返回到特定的控制器(称为Social),该控制器处理JSON到JAVA的数据转换,并将新数据绑定到用户模型,并将更新的模型存储在数据库中。

  4. 然后,控制器将用户重定向到index()控制器,该控制器再次呈现视图/编辑配置文件视图。 (现在我想添加一些功能,用户可以看到由于API调用而修改了他的个人资料中的哪些字段。)

  5. 例如,类似于form.errrors()(类似于form.info()或其他东西)。如果这是不可能的,那么是否可以通过任何方式获取对FieldElements的访问权限,并为其添加内容?

    干杯!

1 个答案:

答案 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));
}