Envoyé par
jeb001
Mais est-ce possible de passer dans un attribut de customTag un objet de type non primitif ?
Oui, et à partir de la version 1.2 tu peux même spécifier le type dans le TLD (ce n'est pas obligatoire, mais cela permet d'avoir une erreur à la compilation plutôt qu'a l'exécution) : http://adiguba.developpez.com/tutori...taglib/#L2.1.6
1 2 3 4 5 6
| <attribute>
<name>bar</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>atchik.app.chat.ato.itf.util.mdl.NavigationBar</type>
</attribute> |
Il faut bien sûr que la méthode setter correspondant existe dans la classe de ton Tag :
1 2 3 4 5
| private NavigationBar bar ;
public void setBar (NavigationBar pBar) {
this.bar = pBar;
} |
Enfin concernant l'erreur :
org.apache.jasper.JasperException: Unable to convert string 'navig_bar' to class atchik.app.chat.ato.itf.util.mdl.NavigationBar for attribute bar
Si l'attribut correspond à un objet, tu ne peux pas lui passer une String mais un objet, soit en utilisant une scriptlets :
<tag:navigation bar="<%=monObjetNavigationBar%>" />
Soit avec les EL (JSP 2.0 ou JSP1.x+JSTL) :
<tag:navigation bar="${requestScope['attributNavigationBar']}" />
a++
Partager