<求助>java.lang.NullPointerException
错误页面:
Struts Problem Report
Struts has detected an unhandled exception:
Messages:
File: willow/business/code/action/CodeAction.java
Line number: 28
--------------------------------------------
Stacktraces
java.lang.NullPointerException
willow.business.code.action.CodeAction.execute(CodeAction.java:28)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:453)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:292)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:255)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:211)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept
。。。。省略
相关代码:
package willow.business.code.action;import java.util.List;import org.apache.log4j.Logger;import org.springframework.beans.factory.BeanFactory;import willow.business.code.CodeForm;import willow.data.code.ICodeData;import willow.entity.code.Code;/** * Filename: CodeAction.java */public class CodeAction extends CodeForm { private static final long serialVersionUID = 5371213145339553692L; static Logger logger = Logger.getLogger(CodeAction.class); public String execute() throws Exception { String input = INPUT; CodeForm cf = new CodeForm(); cf.setCode(getCode()); cf.setUpid(getUpid()); BeanFactory bf = (BeanFactory)getBeanFactory(); ICodeData cd = (ICodeData)bf.getBean("codedata"); List<Code> list = cd.getCodes(bf,null,cf); logger.info(list.size()); getRequest().setAttribute("list", list); input = SUCCESS; return input; }}
<?xml version="1.0" encoding="UTF-8"?><!-- Filename: applicationContext.xml --><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml"></property> <property name="hibernateProperties"> <props> <prop key="hibernate.connection.autocommit">true</prop> </props> </property> </bean> <bean id="codedao" class="willow.dao.hibernate.code.CodeDao"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean> <bean id="codedata" class="willow.data.hibernate.code.CodeData"></bean> <bean id="appraisedao" class="willow.dao.hibernate.science.AppraiseDao"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean> <bean id="appraisedata" class="willow.data.hibernate.science.AppraiseData"></bean> <!-- Define IoC beans <bean id="dao" class="willow.dao.c3p0.C3p0Dao"></bean>--> <!-- Define AOP advice <bean id="daoInterceptor" class="willow.data.advice.DaoInterceptor"></bean>--> <!-- Define AOP target <bean id="studentdata-target" class="willow.data.mysql.StudentData"></bean>--> <!-- Define AOP proxy factory bean, invocation bean <bean id="studentdata" class="org.springframework.aop.framework.ProxyFactoryBean"> <property name="proxyInterfaces"> <value>willow.data.mysql.IStudentData</value> </property> <property name="interceptorNames"> <list> <value>daoInterceptor</value> </list> </property> <property name="target"> <ref bean="studentdata-target"/> </property> </bean>--> <!-- Hibernate --></beans>