我可以在控制器的父抽象类中使用ModelAttribute吗?

时间:2011-05-10 20:12:11

标签: java model-view-controller spring controller

示例:

class CommonController {

    @ModelAttribute("refs")
    public List getRef() {
       ...
    }

    @ModelAttribute("refs2")
    public List getRef2() {
       ...
    }
}


class MyController extends CommonController {

    @RequestMapping("/my")
    public String request() {
        return "/my";
    }
}

ModelAttribute对象将在我的页面上可用吗?

2 个答案:

答案 0 :(得分:1)

为什么你不建议这样做?

例如 - 我有两个控制器创建和编辑。

他们使用相同的引用通过@ModelAttribute和instean复制过去最好为控制器创建父类。

class ReferenceParentController {

    @ModelAttribute("refs")
    public List getRef() {
       ...
    }

    @ModelAttribute("refs2")
    public List getRef2() {
       ...
    }
}

class Create extends ReferenceParentController  {
    ...
}

class Edit extends ReferenceParentController  {
    ...
}

答案 1 :(得分:0)

根据Spring论坛中的这个答案你可以:

http://forum.springsource.org/showthread.php?103368-spring-3-mvc-help-with-multiple-forms-on-one-page&p=345386#post345386

但我个人不建议这样做。