struts2.2.1用注解spring用XML整合,两框架整合问题!
2012-05-14 18:43
615 查看
前两天碰到一问题,我通过Spring的配置文件往action中的BIZ对象注入,Tomcat启动时我单步跟进已经是已经注入成功了!可之后再通过页面去访问,到Action时,它的值确为空了!很明显在调用struts2的Action的时后没有再去问spring拿Action,可我明明在struts.xml加了<constant name="struts.objectFactory" value="spring" />,这句表示你需要struts2的action对象时,它就会去spring中找!
可是通过页面访问Action它为什么里面的值是空呢?后来我跟进org.springframework.beans.factory.ObjectFactory看了下,发现它是找不到action了,因此它给了spring自已认为的默认值,也就是 "org.yyc.actions.OrgnizationAction" 但是这个是没有任何注入的!
那么如何让它找到的已经注入了BIZ层的action呢?
要改成下面这样!
注意这里的ID也改成Action的路径!
我的Action代码如下!
那么现在调用action的路径如下!
http://localhost:8080/项目名/bbb.action
这样就可以成功的访问到action了,主要的就是spring中配置action的时后,ID也换成后面的action类路径!
要还是不行的话加群:178675289
可是通过页面访问Action它为什么里面的值是空呢?后来我跟进org.springframework.beans.factory.ObjectFactory看了下,发现它是找不到action了,因此它给了spring自已认为的默认值,也就是 "org.yyc.actions.OrgnizationAction" 但是这个是没有任何注入的!
<bean id="orgaction" class="org.yyc.actions.OrgnizationAction"> <property name="orgBiz" ref="OrgBiz"></property> </bean>
那么如何让它找到的已经注入了BIZ层的action呢?
要改成下面这样!
<bean id="org.yyc.actions.OrgnizationAction" class="org.yyc.actions.OrgnizationAction"> <property name="orgBiz" ref="OrgBiz"></property> </bean>
注意这里的ID也改成Action的路径!
我的Action代码如下!
package org.yyc.actions; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Controller; import org.springframework.stereotype.Service; import org.yyc.biz.OrgBiz; import org.yyc.entity.Orgnization; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage; import org.apache.struts2.convention.annotation.Result; import org.apache.struts2.convention.annotation.Results; import com.opensymphony.xwork2.ActionSupport; @ParentPackage(value="struts-default") @Namespace(value="/") @Controller @Results({ @Result(name="SUCCESS",location="org/index.jsp") }) public class OrgnizationAction{ public OrgnizationAction(){ System.out.println("aaaaaaa"); } /** * list得到的部门信息集合 */ private List<Orgnization> orglist = null; /** * DAO层对象,通过spring注入进来 */ private OrgBiz OrgBiz; /** * action方法 */ public String execute() throws Exception { System.out.println("bbbbbbb"); return "SUCCESS"; } /** * 查询得部门信息的方法 */ @Action(value="bbb") public String findOrg(){ System.out.println(OrgBiz); this.orglist = OrgBiz.findBizOrg(); for (Orgnization org : orglist) { System.out.println(org.getName()); } return "SUCCESS"; } /** * GET SET 方法 * @return */ public List<Orgnization> getOrglist() { return orglist; } public OrgBiz getOrgBiz() { return OrgBiz; } public void setOrgBiz(OrgBiz orgBiz) { OrgBiz = orgBiz; } public void setOrglist(List<Orgnization> orglist) { this.orglist = orglist; } }
那么现在调用action的路径如下!
http://localhost:8080/项目名/bbb.action
这样就可以成功的访问到action了,主要的就是spring中配置action的时后,ID也换成后面的action类路径!
要还是不行的话加群:178675289
相关文章推荐
- struts2.2.1+spring 3.0.3+hibernate3.6+dwr3.0全注解整合详解
- struts1和spring进行整合的时候struts-config.xml文件的配置顺序问题
- struts2.2.1+spring 3.0.3+hibernate3.6+dwr3.0全注解整合详解
- Hibernate3.3.2+Spring2.5.5+Struts2.1.6+Extjs3.0.0 Annotations注解框架整合及其代码分享
- spring,hibernate,struts2三大框架注解方式整合案例
- Struts Spring Hibernate 框架整合时候出现的问题
- Struts Spring Hibernate 框架整合时候出现的问题
- Hibernate3.3.2+Spring2.5.5+Struts2.1.6+Extjs3.0.0 Annotations注解框架整合及其代码分享
- struts+hibernate+spring整合过程常见问题收集
- SSM框架笔记07:初探Spring——采用XML配置文件与注解方式
- 关于SSM框架整合Spring与Mybaitis面向接口编程时,多个不同包别名设置,多个dao层包通配符表达处理问题
- Spring+Struts2+Hibernate框架整合流程
- 使用MyEclipse整合Struts+Spring+Hibernate时,在“applicationContext.xml”中提示class"org.apache.commons.dbcp.Basi
- Spring+Struts2+Mybatis框架搭建时的常见典型问题
- 在web.xml中注册IntrospectorCleanupListener监听器以解决struts等框架可能产生的内存泄露问题
- spring+struts+mybatis三大框架整合配置
- j2ee 设计框架 ibatis+spring+struts整合应用实例
- ssh整合!Struts.xml、hibernate与spring整合的applicationContext.xml、web.xml文件的配置!
- Spring整合Struts 2,以及Spring中Bean的作用域问题
- 解决struts2.1.6整合Spring乱码问题