我试图做一些奇怪的事情,但我需要这样做......
我在两个控制器和 2 个验证器中有两个 bean:假设......
BeanA {
private String propertyA;
}
BeanB {
private String propertyB;
}
为了保存 bean A,我还需要验证 bean B,所以我正在尝试执行以下操作:
@RequestMapping(params = ACTION_SAVE_BEAN_A)
public final void doActionSave (@ModelAttribute(value = ServletContextKeys.BEAN_A) BeanA beanA,
Errors errors, ActionRequest actionrequest, ActionResponse actionResponse, PortletSession portletSession) {
BeanB beanB = getBeanB();
validatorBeanB.validate(beanB, errors);
if (!errors.hasErrors()) {
//Save beanA
beanA.save();
}
}
我的验证器代码:
validatorBeanB{
private void validatePropertyB(Errors errors) {
ValidationUtils.rejectIfEmptyOrWhitespace(errors, PROPERTY_B, BEANB_ERRORS + PROPERTY_B);
}
}
但是执行这段代码,我收到一个错误:
Caused by: org.springframework.beans.NotReadablePropertyException: Invalid property 'propertyB' of bean class [BeanA]: Bean property 'propertyB' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?
我理解错误,但我需要找到解决方法来修复它,而且我不能只将 propertyB 放在 beanA 中(实际上,它不仅仅是一个属性,bean 中还有更多......)
有任何想法吗?提前致谢。