Salut à Tous,

je dispose d'une datatable qui affiche le contenu d'une liste cars, la liste est de type List<Car> avec Car qui correspond à une classe Car.java et disposant de plusieurs attributs et methodes.

je voudrais mettre à jours un attribut de l'objet car correspondant à la ligne sachant que la valeur que je dois lui associer doit être le resultat d'une methode définie dans la classe Car.java.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
 
<t:dataTable value="#{bean.cars}" var="car">
 
    <t:column>
              <h:outputText value="#{car.property}"
              <h:commandLink value="monlien" action="#{car.method}"/>
    </t:column>   
 
</t:datatable>
le code ci-dessus ne passe pas, il semblerai que #{car.method} ferai reference à un attribut et non une méthode j'ai bien sûre essayer avec #{car.method()} et la ça me dit


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
org.apache.jasper.JasperException: /index.jsp(47,7) The function 'method' must be used with a prefix when a default namespace is not specified
	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
	org.apache.jasper.compiler.Validator$ValidateVisitor$1FVVisitor.visit(Validator.java:1478)
	org.apache.jasper.compiler.ELNode$Function.accept(ELNode.java:129)
	org.apache.jasper.compiler.ELNode$Nodes.visit(ELNode.java:200)
	org.apache.jasper.compiler.ELNode$Visitor.visit(ELNode.java:242)
	org.apache.jasper.compiler.ELNode$Root.accept(ELNode.java:56)
	org.apache.jasper.compiler.ELNode$Nodes.visit(ELNode.java:200)

comment appeler une méthode à partir d'un objet qui lui même n'est pas un bean mais une variable d'iteration ?


PS: j'ai essayer de déclarer aussi la variable comme étant un bean mais sans succès !