Utiliser un actionlistener avec un commandLink [JSF - Myfaces] - Java - Programmation
Marsh Posté le 07-09-2007 à 09:13:32
Marsh Posté le 07-09-2007 à 09:34:10
C'est bon j'ai trouvé : en faisant ctrl+shift+O sous eclipse, ça m'importe awt.event.ActionEvent au lieu javax.faces.ActionEvent !
Marsh Posté le 06-09-2007 à 18:34:31
Bonjour,
J'ai fait un code avec JSF identique à un exemple que j'ai trouvé sur le net (je suppose qu'il marche).
Je cherche juste à déclencher une action quand on clique sur lien.
la page jsp :
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<f:view>
<f:loadBundle var="bundle_app"
basename="com.celgene.ebanking.resources.application" />
<f:loadBundle var="bundle_msg"
basename="com.celgene.ebanking.resources.messages" />
<html>
<head>
<title><h:outputText value="#{bundle_app['application.title']}" /></title>
</head>
<body>
<h:form>
<ul>
<li><h:commandLink
action="#{homeController.reportCreationForward}"
value="#{bundle_msg['report.creation']}" actionListener="#{parametersAction.initCompanyList}"/></li>
</ul>
</h:form>
</body>
</html>
</f:view>
le actionListener pointe sur parametersAction.initCompanyList qui est dans mon code java :
le managed bean parametersAction a bien ete ajoute dans le faces-config :
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN" "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
<managed-bean>
<managed-bean-name>parametersAction</managed-bean-name>
<managed-bean-class>com.celgene.ebanking.actions.ParametersAction</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
</faces-config>
Quand je clique sur le lien j'ai l'erreur :
type Rapport d'exception
message
description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
exception
javax.servlet.ServletException: Exception while invoking expression #{parametersAction.initCompanyList}
javax.faces.webapp.FacesServlet.service(FacesServlet.java:154)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
cause mère
javax.faces.el.EvaluationException: Exception while invoking expression #{parametersAction.initCompanyList}
org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:168)
javax.faces.component.UICommand.broadcast(UICommand.java:89)
javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97)
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:171)
org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.0.28.
Ca marche pas pourquoi ? que manque-t-il ?
http://www.laliluna.de/first-java- [...] orial.html
Message édité par Giz le 06-09-2007 à 18:53:18
---------------
Asus P5Q Pro | C2D E8400 3GHz@4GHz + Noctua NH-C12P | 2x2Go Patriot Extreme PC-8500 | GeForce GTX 460@Stock 1Go GLH | Crucial SSD M4 64Go Sata3