spring初始化是,debug进入set方法设置bean属性,当使用的时候就变成的null 注入的时候是成功的,可以输出内存地址,当你调用action使用这个已经依赖注入的类时,就是null了,调了一下午没发现问题,使用其他bean不会有这样的问题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 lz意思是已经set那个action,但是调用时候出现null?1、检查你的struts2、spring包版本是否正确,不要存在包冲突或者不一致问题。2、如果真的set进去,你可以写个junit测试一下,applicationContent测试一下就知道是否真的set进去。3、如果没有两种方式解决你的问题:第一种没有plugin那个jar包情况a、配置spring中配置action是由spring来管理,配置prototype等属性,在struts.xml中增加<constant name="struts.objectFactory" value="spring" />b、然后看你的action是否在spring配置文件中注入c、写个测试代码,测试获取的action的hashcode值,或者直接测试action函数。第二种有plugin那个jar情况a、业务类在Spring配置文件中配置,Action不需要配置,Struts2的Action像没有整合Spring之前一样配置,<action>的class属性指定业务逻辑控制器类的全限定名。b、其实Action也不是Struts2创建的,而是Struts2的Spring插件创建的。c、写个测试代码,测试获取的action的hashcode值,或者直接测试action函数。 看了楼上的意见,今晚在调试一下!还有一点我想说一下,就是其他的在我的那个action类中的其他bean是不会为空,private MenuService menuService;private UserService userService; <bean id="MenuNodeAction" class="com.application.action.MenuNodeAction"> <property name="menuService" ref="MenuService"/> <property name="userService" ref="userService"/> </bean>第二个userService不会为空;在setMenuService方法中的System.out.println(this.menuService.toString());这句话是能够输出地址,但在execute()中System.out.println(this.menuService.toString());就是null而且程序走到这一步就不会往下执行,也不报错; java 远程传参数,并自动提交按钮,大家给我出点注意 Servlet中velocity摸板工具中的中文乱码问题,请高手帮忙 请教:错误 No getter method for property AA of bean BB 新手求救:Tomcat连接mysql怎么老是报错。 如何实现自动注册二级域名 数据源的问题 jquery获取动态添加的元素的值 poolman连接池的poolman.props应该放在系统目录的什么位置下呢? 找到最新最好用的东东----jsp论坛完整开放的源码 请问如何如何获取列表框的当前值 网页变成这样了,什么原因呢? JSP中使用tag问题
1、检查你的struts2、spring包版本是否正确,不要存在包冲突或者不一致问题。
2、如果真的set进去,你可以写个junit测试一下,applicationContent测试一下就知道是否真的set进去。
3、如果没有两种方式解决你的问题:
第一种没有plugin那个jar包情况
a、配置spring中配置action是由spring来管理,配置prototype等属性,在struts.xml中增加
<constant name="struts.objectFactory" value="spring" />
b、然后看你的action是否在spring配置文件中注入
c、写个测试代码,测试获取的action的hashcode值,或者直接测试action函数。
第二种有plugin那个jar情况
a、业务类在Spring配置文件中配置,Action不需要配置,Struts2的Action像没有整合Spring之前一样配置,<action>的class属性指定业务逻辑控制器类的全限定名。
b、其实Action也不是Struts2创建的,而是Struts2的Spring插件创建的。
c、写个测试代码,测试获取的action的hashcode值,或者直接测试action函数。
<bean id="MenuNodeAction" class="com.application.action.MenuNodeAction">
<property name="menuService" ref="MenuService"/>
<property name="userService" ref="userService"/>
</bean>
第二个userService不会为空;
在setMenuService方法中的System.out.println(this.menuService.toString());这句话是能够输出地址,但在execute()中System.out.println(this.menuService.toString());就是null而且程序走到这一步就不会往下执行,也不报错;