2012-01-16 79 views
0

虽然我正在创建新的条纹操作,但我在日志文件中发现了以下错误。net.sourceforge.stripes.exception.StripesServletException:无法创建ActionBean类型的实例

**net.sourceforge.stripes.exception.StripesServletException: ***Could not create instance of ActionBean type*** [site.person.inspector.finaid.budget.ManageSession].** 
    at net.sourceforge.stripes.controller.AnnotatedClassActionResolver.getActionBean(AnnotatedClassActionResolver.java:368) 
    at net.sourceforge.stripes.controller.NameBasedActionResolver.getActionBean(NameBasedActionResolver.java:264) 
    at net.sourceforge.stripes.controller.AnnotatedClassActionResolver.getActionBean(AnnotatedClassActionResolver.java:293) 
    at net.sourceforge.stripes.controller.DispatcherHelper$1.intercept(DispatcherHelper.java:106) 
    at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:158) 
    at.site.stripesext.ConnectionContextSetupInterceptor.intercept(ConnectionContextSetupInterceptor.java:17) 
    at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155) 
    at net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(BeforeAfterMethodInterceptor.java:113) 
    at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155) 
    at net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.java:74) 
    at net.sourceforge.stripes.controller.DispatcherHelper.resolveActionBean(DispatcherHelper.java:102) 
    at net.sourceforge.stripes.controller.DispatcherServlet.resolveActionBean(DispatcherServlet.java:238) 
    at net.sourceforge.stripes.controller.DispatcherServlet.service(DispatcherServlet.java:141) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:247) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.person.PersonAuditFilter.doFilter(PersonAuditFilter.java:44) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.support.security.AuthorizationFilter.doFilter(AuthorizationFilter.java:76) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.support.session.SessionTrackingFilter.doFilter(SessionTrackingFilter.java:41) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.support.security.AuthenticationFilter.doFilter(AuthenticationFilter.java:39) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.support.downtime.DowntimeFilter.doFilter(DowntimeFilter.java:41) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.QueueFilter.doFilter(QueueFilter.java:23) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.TransactionFilter.doFilter(TransactionFilter.java:82) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.ExceptionLoggingFilter.doFilter(ExceptionLoggingFilter.java:42) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.PdfFilter.doFilter(PdfFilter.java:42) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.PreventCacheResponseFilter.doFilter(PreventCacheResponseFilter.java:25) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at site.QuiesceFilter.doFilter(QuiesceFilter.java:91) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.HqlTraceFilter.doFilter(HqlTraceFilter.java:43) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at .site.AuditFilter.doFilter(AuditFilter.java:61) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) 
    at org.apache.catalina.valves.FastCommonAccessLogValve.invoke(FastCommonAccessLogValve.java:500) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873) 
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) 
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) 
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) 
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) 
    at java.lang.Thread.run(Thread.java:619) 

下面是我工作的,现在的类。

@UrlBinding("/person/inspect/finaid/budget/manage-session-budget.page") 
public class ManageSession extends AbstractAidApplicantYearSessionTab{ 
//The class AbstractAidApplicantYearSessionTab has a hierarchy and the last one extends from UIAction 
    private static final String MANAGE_JSP_FILE="person/inspect/finaid/budget/manage-session-budget.jsp" ; 
    @Override 
    @DefaultHandler 
    public Resolution show() { 
     return new MauiForwardResolution(MANAGE_JSP_FILE); 
    } 

    public ManageSession(PersonInspectorAction personInspector, String group, String title) { 
      super(personInspector, group, title); 
     } 

} 


@UrlBinding("/person/inspect/finaid/budget/cost-of-attendance.page") 

public class CostOfAttendanceTab extends AbstractAidApplicantTab { 

public String getViewSessionUrl() { 
     return "/person/inspect/finaid/budget/manage-session-budget.page"; 
    } 

public CostOfAttendanceTab(PersonInspectorAction personInspector, String group, String  title) { 
    super(personInspector, group, title); 
} 


} 

我所试图做的是,当你点击一个链接我调用getViewSessionUrl(即actionBean.viewSessionUrl)。然后转到manage-session-budget.page(即ManageSession类)...在该类中,我有一个名为show()的默认分辨率,它将您转发到manage-session-budget.jsp ...。但我不知道为什么它没有得到该jsp文件或者与ManageSession页面有什么不同......

你有什么想法吗?

回答

2

动作bean类(ManageSession)没有无参数构造函数,因此Stripes无法创建此类的实例。

+0

好吧。你是对的'ManageSession'没有没有参数的构造函数。所以其他课程如“CostOfAttendance”也很好。即使我试图在ManageSession中放置一个默认构造函数,并且它有一个编译时错误,它表示site.person.inspector.finaid.AbstractAidApplicantYearSessionTab(ManageSession的父级)中没有可用的默认构造函数。当我在AbstractAidApplicantYearSessionTab中做同样的事情时,它会一直指向父类,等等。我无权更改除ManageSession之外的其他课程。我该怎么办? – WowBow 2012-01-17 14:24:00

+0

CostOfAttendanceTab类具有无参数构造函数,因为它没有任何构造函数,在这种情况下,Java编译器为您创建一个只调用'super()'的构造函数。无参数构造函数**必须调用超级构造函数作为其第一条指令。如果超类没有无参数构造函数,那么必须明确调用另一个构造函数:'public ManageSession(){super(null,null,null); // ...}'。请参阅http://docs.oracle.com/javase/tutorial/java/javaOO/constructors.html – 2012-01-17 14:29:54

+0

我很抱歉。 CostOfAttendanceTab中已经有一个构造函数。我编辑了我的问题。 public CostOfAttendanceTab(PersonInspectorAction personInspector,String group,String title)super(personInspector,group,title); } – WowBow 2012-01-17 14:42:16