读书人

SSH整合过程中Action中无法获得serv

发布时间: 2013-12-15 22:17:18 作者: rapoo

SSH整合过程中,Action中无法获得service类的实例
我在spring里面配置了Action和service类的bean:
<!-- SysManageImpl -->
<bean id="sysManage" class="com.simpleton.CourseSystem.Service.SysManageImpl">
<property name="dao" ref="baseDao"></property>
</bean>

<!-- SysManagerAction -->
<bean name="/sysManagerAction" scope="prototype" class="com.simpleton.CourseSystem.Action.SysManagerAction">
<property name="sysManager" ref="sysManage"/>
</bean>

可是我在Action中用SysManageImpl 类的实例sysManage调用方法时,抛出空指针异常,我做了各种测试,都表明是sysManage没有实例化,我问过老师,老师说可能是Struts2和Spring整合过程有哪里出了问题,我想问Struts2和Spring整合过程需要注意哪些问题,还有就是sysManage没有实例化是什么原因?


//Action类
public class SysManagerAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private HttpServletRequest request;
private Student student;
private SysManageImpl sysManager;
//省略各setter和getter方法

public String add(){
try{
sysManager.sysUpdateStudent(student, operateType);
return "addSuccess";
}catch (Exception e) {
e.printStackTrace();
return "addFail";
}
}
}



[解决办法]

action中获得对象要提供get和set方法,不明白你为什么要省略。
add里面的那句话不就是获取一个sysManager的实例对象,我想是不是因为这里获得了一个实例对象,自动付给了这个类里面的成员变量sysManager,所以就不会是空指针了。
我也是新手,相互交流下。
[解决办法]
bean name="/sysManagerAction"

是不是这里多了一个"/"还有要注意Action中你要注入的属性要setter

读书人网 >J2EE开发

热点推荐