Когда я работал над созданием нового действия с полосами, я обнаружил следующую ошибку в файле журнала.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 или sth не соответствует странице ManageSession ...
У вас есть мысли?
Ну. Вы правы. «ManageSession» не имеет конструктора no-arg. Так делают и другие классы, такие как «CostOfAttendance», и они работают хорошо. Даже я попытался поместить конструктор по умолчанию в ManageSession, и у него есть ошибка времени компиляции, в которой говорится, что в конструкторе site.person.inspector.finaid.AbstractAidApplicantYearSessionTab (родителя ManageSession) нет конструктора по умолчанию. Когда я делаю то же самое в AbstractAidApplicantYearSessionTab, он продолжает указывать мне родительский класс и так далее. Я не имею права изменять другие классы, кроме ManageSession. Что мне делать? – WowBow
Класс CostOfAttendanceTab имеет конструктор no-arg, потому что он его не имеет, и в этом случае компилятор Java создает его для вас, что просто вызывает 'super()'. Конструктор no-arg ** должен ** вызывать супер конструктор в качестве первой инструкции. Если у суперкласса нет конструктора no-arg, тогда нужно еще одно: «public ManageSession() {super (null, null, null); // ...}'. См. Http://docs.oracle.com/javase/tutorial/java/javaOO/constructors.html –
Прошу прощения. В CostOfAttendanceTab уже есть конструктор. Я редактировал свой вопрос. public CostOfAttendanceTab (PersonInspectorAction personInspector, String group, String title) { super (personInspector, group, title); } – WowBow