gpt4 book ai didi

java - Spring 闪光范围

转载 作者:行者123 更新时间:2023-12-01 05:48:17 25 4
gpt4 key购买 nike

在等待 FlashScope 集成到 Spring 3.1 中(无论如何都计划在此版本中发布)时,我遇到了 this bug posting ,这使我能够合并 3.1 发布后应该可用的松散版本。

我的问题是我似乎无法绑定(bind)到 Flash 范围内的值。例如,在我的模型中,我有以下代码:

ModelAndView mav = new ModelAndView(someInjectedRedirectPage);
//Processing
mav.addObject("flashScope.someVar", someObject);

在我的 UI 中,使用 Velocity,我尝试通过以下方式绑定(bind)到该对象:

##This is a velocimacro for those not familiar with velocity.
##It is basically like setting a path on a field utilizing the
##spring tag lib (e.x. <form:text path="flashScope")

#springBind("flashScope")

但是,当我尝试使用该绑定(bind)时,出现以下异常:

java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'flashScope' available as request attribute
at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:141)
at org.springframework.web.servlet.support.RequestContext.getBindStatus(RequestContext.java:720)bean name 'flashScope' available as request attribute...

但是在我的日志中,我可以清楚地表明它已添加到请求中。我还可以执行以下操作:

$flashScope.someVar.someProperty #The value prints fine this way.

是否可以绑定(bind)到 Map 值(该值不在支持命令对象上,而只是在请求上)?

请注意是否执行以下操作:

Map<String, String> map = new HashMap <String, String>(); 
map.put("key", "value");
mav.addObject("map", map);

我仍然无法绑定(bind)到 map ...

我可以通过扩展 WebBindingInitializer 来修改此行为吗?只需将 FlashScopeMap 包装到另一个对象中就可以解决问题吗?

最佳答案

包装到另一个对象中是我能够解决此问题的唯一方法。

关于java - Spring 闪光范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5344992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com