Spring MVC通过控制器将属性发送到xml声明的bean

时间:2014-01-22 20:47:22

标签: java spring spring-mvc

我想知道是否可以将属性传递给我在xml配置文件中声明的bean(例如在applicationContext.xml上):

<bean id="captchaVerifierFilter" class="org.abc.filter.CaptchaVerifierFilter" 
            p:useProxy="false" 
            p:proxyPort="" 
            p:proxyHost=""
            p:failureUrl="/abc/main/loginfailed"
            p:captchaCaptureFilter-ref="captchaCaptureFilter"
/>

我想使用 captchaVerifierFilter bean来测试验证码是否有效。然后我可以将 failureUrl 属性设置为url“add-record”并重定向到该jsp。

如何通过控制器发送属性(例如,failureUrl)。这可能吗?如果可能的话,我应该在控制器上编码什么?

有什么想法吗?非常感谢你!

2 个答案:

答案 0 :(得分:0)

我认为您应该将成功和失败网址定义为配置中的属性,然后让过滤器决定走哪条路。

如果你可以访问bean(通过公开或使用setter),你可以更改bean的属性,但这可能不是你想要的,因为它改变了应用程序上下文中单个bean实例的属性,多个线程同时使用。

祝你好运

Hacim

答案 1 :(得分:0)

默认情况下,上下文中的bean位于单例范围内。因此,当您在一个控制器中设置属性failureUrl的值时,另一个控制器在从上下文获取bean时也会看到此新值。