action属性注入为null

一、 问题:

今天调试代码遇到问题,使用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类型,则不会去和參数进行匹配,因此也不会被覆盖

原文地址:https://www.cnblogs.com/zsychanpin/p/6898657.html