JSF: NoSuchMethodException, evaluationException

Status
Nicht offen für weitere Antworten.

Nicnac

Mitglied
Hallo,

ich habe ein Problem mit einer "NoSuchMethodException".

Ich habe eine Bean, die die Methode "getRightQuestionPage" enthält.

Code:
public String getRightQuestionPage() {
 switch (...) {
   case PagePart.TYPE_SINGLECHOICE:
	return navigationspfad
...}

Aus der JSP-Datei versuche ich wie an vielen anderen Stellen in der Anwendung auch, diese Methode aufzufrufen:

Code:
<h:commandLink action="#{assistantBean.rightQuestionPage}">
  <h:outputText value="Seite anzeigen"/>
</h:commandLink>

Leider geht dies nicht. Hier der Stacktrace:


08.06.2006 12:31:04 [http-8080-Processor24] ERROR [faces] - Servlet.service() for servlet faces threw exception
javax.faces.el.EvaluationException: Expression: #{assistantBean.rightQuestionPage}
at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:180)
at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:62)
at javax.faces.component.UICommand.broadcast(UICommand.java:106)
at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:110)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:184)
at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:271)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:102)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:109)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:112)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:292)
at net.sf.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:84)
at net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter.doFilter(SecurityEnforcementFilter.java:182)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:153)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:153)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at de.mit.saturn.security.LoginFilter.doFilter(LoginFilter.java:128)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:226)
at net.sf.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
at net.sf.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:173)
at net.sf.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:125)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:172)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NoSuchMethodException: de.mit.saturn.web.beans.AssistantBean.rightQuestionPage()
at java.lang.Class.getMethod(Class.java:1581)
at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:127)
... 44 more

Vielen Dank für Eure Hilfe.
Nicnac
 

kama

Top Contributor
Hi,

ich stelle dazu zwei Fragen:

1. Hast Du die Bean auch in face-config.xml registriert?
Ich vermute ja.

2. Aus der Fehlermeldung würde ich schliessen, dass das nicht geht.
Jedenfall so nicht.

MfG
Karl Heinz
 

Nicnac

Mitglied
Hallo,

ja die Bean ist registriert. Sie wird auch auf derselben Seite schon benutzt zur Darstellung von Daten. Das ist ja das, was ich nicht verstehe.
Ich hole mir vorher mit:
Code:
<h:selectOneRadio layout="pageDirection" value="#{assistantBean.questionType}">
		<f:selectItems value="#{assistantBean.questionTypesList}"/>
</h:selectOneRadio>

Daten aus der Bean und das funktioniert.
Bin völlig ratlos.

Danke für jeden Hinweis.

Viele Grüße
Nicnac
 

kama

Top Contributor
Hi,

mach mal aus Deiner Method getRightQuestionPage() ein "rightQuestionPage()" und probier es dann nochmal.

MfG
Karl Heinz
 

Nicnac

Mitglied
Hallo,

uaah, das wars. :)Manchmal hat man echt ein Brett vor dem Kopf. Vielen Dank!

Viele Grüße
Nicnac
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben