假设我有课:
abstract class Animal {}
class Elephant extends Animal {
Trunk trunk;
RightEar rightEar;
}
class Peacock extends Animal {
Tail tail;
Beak beak;
}
我想编写单个控制器方法,它的参数类型为Animal:
@RequestMapping("/animal")
public ModelAndView animalsHandler(@ModelAttribute("animal") Animal animal) {...}
我发现对于非复杂参数,可以通过选择适当propertyEditor的@InitBinder方法来完成,即它只会通过不同的方式转换输入字符串。
但是如果Elephant里面Peacock有一些其他的物体呢?在那种情况下,似乎我不能propertyEditor为他们写 s ,而只能为他们的Trunk,Tail和Beak?.. 我完全糊涂了。