【问题标题】:Session attribute as method argument with Spring MVC会话属性作为 Spring MVC 的方法参数
【发布时间】:2011-01-14 17:10:20
【问题描述】:

我在Spring mvc下使用Bozho solution创建会话属性注解。
当对象不在会话中时我遇到了问题并且我有类似的东西

@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

【问题讨论】:

    标签: java spring spring-mvc


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      defaultValue 可以是用户的用户名,你可以通过在解析器中注入一个 dao 来找到它。但是无论如何,拥有一个默认用户并没有多大意义,所以只需返回 null

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-18
        • 2013-08-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多