整合SSH时创建一个ActionBean无法调用DAO功能类~~在线等!
小弟先给各位拜年了~~,大过年的还在电脑前看我的问题的各位辛苦了:)
整合SSH时创建一个ActionBean无法调用DAO功能类。就是无法调用ItemDAO类的方法~~如果直接在list()里直接定义变量,并初始化值,是可以返回到指定的页面并显示在list()里定义变量的值的。否则有错误~
public class IndexAction extends DispatchAction {
private ItemDAO itemDAO;
private QuestionDAO questionDAO;
public ActionForward list(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
DynaActionForm indexForm = (DynaActionForm) form;
String test=itemDAO.print();
request.setAttribute("test", test);
return mapping.findForward("indexdo");
}
public ItemDAO getItemDAO() {
return itemDAO;
}
public void setItemDAO(ItemDAO itemDAO) {
this.itemDAO = itemDAO;
}
public QuestionDAO getQuestionDAO() {
return questionDAO;
}
public void setQuestionDAO(QuestionDAO questionDAO) {
this.questionDAO = questionDAO;
}
}
ApplicationContext.xml配置如下:
<bean name="/jsp/index" class="org.shuye100.struts.action.IndexAction"
abstract="false" lazy-init="default" autowire="default"
dependency-check="default">
<property name="itemDAO">
<ref bean="ItemDAO" />
</property>
<property name="questionDAO">
<ref bean="QuestionDAO" />
</property>
</bean>
Struts-Config.xml配置如下:
<action
attribute="indexForm"
input="/jsp/errors.jsp"
name="indexForm"
parameter="method"
path="/jsp/index"
scope="request"
type="org.shuye100.struts.action.IndexAction" >
<forward name="indexdo" path="/jsp/index.jsp"> </forward>
</action>
错误如下:
[@APPNAME@] WARN [http-8080-1] RequestProcessor.processException(528) ¦ Unhandled Exception thrown: class java.lang.NullPointerException
2008-2-9 11:01:54 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException
at org.shuye100.struts.action.IndexAction.list(IndexAction.java:48)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.shuye100.filter.EncodingFilter.doFilter(EncodingFilter.java:23)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
大家帮帮忙吧!!!