开发者

Session attribute as method argument with Spring MVC

I'm using Bozho solution to create a session attribute annotation under Spring mvc.

I've a problem when the object is not in the session and I've something like

@SessionAttribute(required = false) MyFormObject myFormObject

The annotation is defined as

@Target(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface SessionAttribute {
    String value() default "";
    boolean required() default true;
    String defaultValue() default ValueConstants.DEFAULT_NONE;
}

I get an exception since defaultValue() returns a String and my custom ArgumentResolver tries to assign this String to MyFormObject.

How can I instruct Spring to assign 开发者_StackOverflow中文版null to myFormObject instead of ValueConstants.DEFAULT_NONE?


Can't you simple modify the custom WebArgumentResolver to return null instead of defaultValue when attribute is not found?


the defaultValue can be the username of the user, which you can find by injecting a dao into the resolver. But having a default user doesn't make much sense anyway, so just return null

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜