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頁面有什麼不同......
你有什麼想法嗎?
好吧。你是對的'ManageSession'沒有沒有參數的構造函數。所以其他課程如「CostOfAttendance」也很好。即使我試圖在ManageSession中放置一個默認構造函數,並且它有一個編譯時錯誤,它表示site.person.inspector.finaid.AbstractAidApplicantYearSessionTab(ManageSession的父級)中沒有可用的默認構造函數。當我在AbstractAidApplicantYearSessionTab中做同樣的事情時,它會一直指向父類,等等。我無權更改除ManageSession之外的其他課程。我該怎麼辦? – WowBow 2012-01-17 14:24:00
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
我很抱歉。 CostOfAttendanceTab中已經有一個構造函數。我編輯了我的問題。 public CostOfAttendanceTab(PersonInspectorAction personInspector,String group,String title)super(personInspector,group,title); } – WowBow 2012-01-17 14:42:16