表单组件Model的设置和更新
举例来讲,有一个用来记录个人爱好的字段,个人爱好是多选的,字段中记录单项爱好的id,用逗号分隔开。
在表单上,对应显示的是一组多选框,在Wicket中是一个CheckGroup组件。
CheckGroup组件对应需要的Model是Collection,而不是一个用逗号分隔的字符串。
?
Wicket的表单组件FormComponent提供了initModel方法用于设置Model,在上面例子中我们可以在这个方法中将字符串转换为一个数组,再设置为CheckGroup的Model用于显示页面的多选框。
当表单提交多选框时,提交上来的是一个数组,我们需要把这个数组转换成字符串更新到Model中。FormComponent提供了updateModel方法用于更新Model,这里我们可以在该方法中将数组转换为字符串,然后更新到对应的Model中。
?
由此可见,我们可以通过initMode和updateModel两个方法很灵活的设置表单组件的Model,而不用局限于组件默认的Model类型。
?
?
?