Java 在播放中呈现窗体时添加其他信息!2.0.2

Java 在播放中呈现窗体时添加其他信息!2.0.2,java,forms,playframework,playframework-2.0,Java,Forms,Playframework,Playframework 2.0,我通过LinkedIn API向用户模型添加更多信息,所有这些代码都在控制器中处理。当信息被添加到模型中时,我在一个新视图中重新呈现(用户类的)表单。是否有任何方法将附加信息附加到此表单(内置!),以显示哪些字段已通过API调用更新 用例: 用户进入查看/编辑配置文件页面 用户单击“从LinkedIn导入信息” 对LinkedIn API进行API调用-然后用户返回到一个特定的控制器(称为Social),该控制器处理JSON到JAVA的数据转换,并将新数据绑定到用户模型,并将更新后的模型存储在数

我通过LinkedIn API向用户模型添加更多信息,所有这些代码都在控制器中处理。当信息被添加到模型中时,我在一个新视图中重新呈现(用户类的)表单。是否有任何方法将附加信息附加到此表单(内置!),以显示哪些字段已通过API调用更新

用例:

  • 用户进入查看/编辑配置文件页面

  • 用户单击“从LinkedIn导入信息”

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

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

  • 例如,类似于
    form.errors()
    (称为form.info()之类的东西)。如果这是不可能的,那么是否有任何方法可以访问FieldElements,并向其添加一些内容


    干杯

    我看不清问题所在

    当控制器将用户重定向到其配置文件页面时,您只需使用数据库中的数据填充表单

    诸如此类:

    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));
    }
    
    公共静态结果配置文件(字符串userId){
    formuserform=Form(User.class);
    User User=User.findById(userId);//数据库中已设置数据
    如果(用户!=null){
    userForm=userForm.fill(用户);
    }
    返回重定向(your.view.render(userForm));
    }
    
    问题不在于呈现视图-问题在于呈现视图(和表单),显示哪些(可能不是全部)字段被API调用更改。对于instace:可能会更改名字和姓氏,但不会更改电子邮件和地址等),我们希望以某种方式在视图中显示此信息。啊,好的,因此您必须以某种方式存储此信息。也许可以使用
    flash()
    scope()。当然,这可以工作!有没有办法将flash消息绑定到输入字段?我们最初的想法是将信息添加到表单中每个更改的输入元素的FieldElements中,您知道是否可以通过控制器以任何方式访问输入的FieldElements?我不知道是否可能。另一个选项是扩展
    表单
    类,以便添加修改字段的列表。