我有多个SimpleFormController控制器。一个控制器包含一个命令对象,用于过滤其他控制器中的结果。我似乎错过了一些简单的东西,但我似乎找不到在其他控制器中使用命令对象的相同实例的方法。
我的设置是这样的主控制器,让我们称之为RootController扩展SimpleFormController,其余的控制器扩展RootController。我们的想法是命令对象存储在一个地方 - RootController和扩展它的控制器重用同一个对象。但是,它似乎没有那样工作,其他控制器似乎有自己的命令对象副本。
答案 0 :(得分:1)
表单支持对象只是普通的Pojos,因此您可以相互继承它。
public class BaseCommand {
...
}
public class MoreCommand extends BaseComman {
...
}
您可能忘记“更新”控制器子类中的commandClass
。
无论如何:请注意,在Spring 3.0中不推荐使用SimpleFormController。相反,首选注释样式。
更新:命令对象的一个INSTANCE只能由一个控制器的INSTANCE处理。所以你可以继承Controller(不要错过调用super
),但你不能有两个控制器实例,并希望两者都被调用。