我正在使用Bozho solution在Spring mvc下创建会话属性注释 当对象不在会话中并且我有类似
之类的东西时,我遇到了问题@SessionAttribute(required = false) MyFormObject myFormObject
注释定义为
@Target(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface SessionAttribute {
String value() default "";
boolean required() default true;
String defaultValue() default ValueConstants.DEFAULT_NONE;
}
我收到异常,因为defaultValue()
返回String
而我的自定义ArgumentResolver
尝试将此String
分配给MyFormObject
。
如何指示Spring将null
分配给myFormObject
而不是ValueConstants.DEFAULT_NONE
?
答案 0 :(得分:0)
当找不到属性时,您不能简单地修改自定义WebArgumentResolver
以返回null
而不是defaultValue
吗?
答案 1 :(得分:0)
defaultValue
可以是用户的用户名,您可以通过将dao注入解析器来找到该用户名。但是拥有默认用户无论如何都没有多大意义,所以只需返回null