一、 问题:

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

05-08 08:08