action为:
public class RegistAction {
private IRegistService iregistService;
private SshUser sshUser;
public String registUser(){
System.out.println("=========>"+iregistService);
iregistService.registUser(sshUser);
return "success";
}
struts配置为:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<!-- <include file="struts-default.xml"></include> -->
<!-- 这句话是将struts交给spring管理 -->
<constant name="struts.objectFactory" value="spring"></constant>
<package name="sshTestPackage" extends="struts-default" namespace="/">
<action name="registAction" class="registAction" method="registUser">
<result name="success">/hello.html</result>
</action>
</package>
</struts>
action里面的service无法注入的原因,就是struts未交付spring托管,
<constant name="struts.objectFactory" value="spring"></constant>的作用就是将struts交付spring托管,同时,action的class必须改为spring配置文件中action的id名ssh action中service无法注入,报空指针问题
最新推荐文章于 2023-02-28 23:18:55 发布
本文探讨了Struts框架中Action无法正确注入Service的问题,分析指出原因是Struts未交付给Spring进行管理,并给出了配置解决方案。

1501

被折叠的 条评论
为什么被折叠?



