Session属性作为Spring MVC的方法参数

时间:2011-01-14 17:10:21

标签: java spring spring-mvc

我正在使用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

2 个答案:

答案 0 :(得分:0)

当找不到属性时,您不能简单地修改自定义WebArgumentResolver以返回null而不是defaultValue吗?

答案 1 :(得分:0)

defaultValue可以是用户的用户名,您可以通过将dao注入解析器来找到该用户名。但是拥有默认用户无论如何都没有多大意义,所以只需返回null