1
在我的项目的旧版本中,我使用Struts 1.x与ActionsForm类。Spring MVC模型属性的初始化
假设在我的表单类中有一个'Long'类型的属性'count'。 如果我调用一个接受这个表单类的动作类,那么属性的值会自动设置为'0'。
没有我迁移到Spring MVC - 并使用模型类而不是表单类。但他们看起来完全相同 - 所以还有一个类型为'Long'的属性'count'。
现在,我把我的控制器类:
@RequestMapping(value = "/dosomething")
public ModelAndView list(@ModelAttribute MyModelClass myModelClass) {
当我看着 'myModelClass', '计数' 属性为null。 但在Struts中,我希望它默认为0。
这怎么办?
通过在模型对象中为其分配默认值。 –
这可能是一个解决方案,但它对我来说似乎是快速和肮脏的。如果我应该总是看看默认值并编写一些额外的代码,那么使用模型类的好处似乎已经消失了。 – CodeCannibal
为什么所有的信息都在模型对象中,所以不知道这是什么问题。任何对象的默认值都是'null',所以如果yu想要别的东西使用'long'而不是对象包装器,或者以你提交的形式(在客户端)指定一个默认值。 –