重命名Spring MVC模型属性的嵌套属性

时间:2014-11-10 16:46:36

标签: spring-mvc spring-mvc-initbinders

我有以下表格:

public class ChildcareWorkerAdvertisementForm extends AbstractForm<ChildcareWorkerAdvertisement> {

    @Valid
    @Override
    //Rename the property from "model" to "advertisement"?
    public ChildcareWorkerAdvertisement getModel() {
        return super.getModel();
    }

}

我想将名为model的属性重命名为其他内容,可能是advertisement,当绑定发生时,我可以在视图中将其称为advertisement(thymeleaf等。 ..)。

这是否可以使用Spring MVC?

编辑1 :这是我的应用程序“AbstractForm类:

package com.bignibou.web.controller;

public class AbstractForm<T> {

    private T model;

    public T getModel() {
        return this.model;
    }

    public final void setModel(T model) {
        this.model = model;
    }
   ...

你可以看到它使用了非常整洁的java部分的泛型。但是,我想在视图中自定义model属性的名称,这是我的问题。

1 个答案:

答案 0 :(得分:0)

您可以在控制器中尝试按照

@Valid
@Override
@ModelAttribute("advertisement")
//Rename the property from "model" to "advertisement"?
public ChildcareWorkerAdvertisement getModel() {
    return super.getModel();
}