一、 问题:
今天调试代码遇到问题,使用spring管理action,其中注入了部分原始类型的属性。配置示例如下:
<bean class="test.login.test.LoginAction">
<property name="targetDomainUrl" value="www.test.com"/>
<property name="loginUrl" value="login.test.com"></property>
</bean>
每次请求过来跳转时,发现targetDomainUrl、loginUrl的值为null.
二、出现问题原因
通过在setter方法上打断点,发现在启动的时候,是有值的;每次新的action请求过来后值就变为null。
后来一想,应该是每次action请求,都把这两个属性targetDomainUrl、loginUrl当做参数了,而请求的链接中又没有这两个参数
所以,拿到的值肯定为null
三、解决办法:
定义属性时,将属性定义为static的就好了。
private String targetDomainUrl; //每次action请求过程中,会去匹配对应的请求参数,并对其进行赋值,如果没有值即为null
private static String targetDomainUrl;//如果为static类型,则不会去和参数进行匹配,因此也不会被覆盖
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-16 08:07:44