3

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

用例:

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

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

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

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

例如,类似于form.errrors()(称为 form.info() 或其他东西)的东西。如果这是不可能的,那么是否有任何方法可以访问 FieldElements,并可能向它们添加一些东西?

干杯!

4

1 回答 1

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));
}
于 2012-07-23T11:56:45.180 回答