将params绑定到模型而不指示模型的名称?

时间:2011-12-19 09:08:29

标签: forms data-binding playframework

使用Play Framework,您可以执行以下操作:

public static void mymethod() {
    // do stuff here
    MyModel mymodel = new MyModel();
    Binder.bindBean(params.getRootParamNode(), "mymodel", mymodel);

    // equivalent to specifying this in the method params :
    // mymethod (@Valid MyModel mymodel)
}

但这需要您将params发送为“mymodel.name”,“mymodel.title”等(模型中名称和标题)。

我想做的是摆脱“模特儿”。在参数中,只需发送“名称”,“标题”,并将它们直接绑定到我的模型。

我知道我不能用@Valid做到这一点(据我所知),但是我尝试了类似的东西,但是没有用:

Binder.bindBean(params.getRootParamNode(), "", mymodel); // Nothing between quotes

我知道这是可能的,我之前找到了,但现在不能把手指放在它上面,你能帮帮我吗?

1 个答案:

答案 0 :(得分:1)

好吧,我会回答那个问题。

你所要做的就是替换它:

Binder.bindBean(params.getRootParamNode(), "mymodel", mymodel)

由此:

Binder.bindBean(params.getRootParamNode(), mymodel, null);