让成为我的自定义类型(请注意,没有设置器,因为这是一个不可变的值对象):
class CustomType extends ValueObject {
private String value;
@NotNull
public String getValue();
CustomType(String value) { this.value = value;}
CustomType(String prefix, String suffix) { this.value = prefix + suffix;}
public String getPrefix() { return value.substring(0, 4);}
public String getSuffix() { return value.substring(4);}
}
和我的控制器:
@Controller
class MyController {
public ModelAndView processSubmittedForm(@Valid CustomType myObject, BindingResult result) {..}
}
和我的jsp视图表单:
<form>
<input id="prefixField" name="prefix" value="756." type="hidden">
<input id="suffixField" name="suffix" type="text">
...
<form/>
考虑到此视图将发送两个 POST 参数prefix
,并且suffix
myObject
假设 Spring 将使用非空值验证这两个参数,我需要做什么才能将这两个参数绑定到单个对象 ?
我可以通过注册格式化程序或自定义编辑器或其他方式自定义 WebDataBinder、InitBinder 来实现这一点吗?
非常感谢您的帮助。
编辑:以下是我用谷歌搜索的相关文章,但没有找到与我自己的问题相匹配的解决方案: