JSTL appeler une méthode qui n'est pas un setter ou un getter
j'ai de la méthode dans une classe:
public HarfDate getHarfTo() {
return to;
}
je me demande comment l'appeler en JSTL que j'ai essayé de l'appeler comme ça:
${exam.getHarfTo()}
mais il ne fonctionne pas!!
Remarque: l'examen est une instance de la classe englobante de la méthode
- n'est pas un membre statique à l'intérieur de la classe, si la solution est de faire de la méthode statique
Alex Theedom la réponse est correcte dans ce cas particulier. Mais je suis curieux: qu'est-ce que la servlet numéro de spécification définie dans votre web.xml? Si il est en dessous de 2,5, essayez de 2,5 et essayer de nouveau. Je pense qu'il DEVRAIT être possible d'invoquer des méthodes à partir d'une expression EL depuis la servlet 2.5 spécification.
avez-vous trouvé la réponse?? Parce que je suis face au même problème.....
avez-vous trouvé la réponse?? Parce que je suis face au même problème.....
OriginalL'auteur Java Player | 2013-12-12
Vous devez vous connecter pour publier un commentaire.
L'instance de la
exam
objet doit être à l'intérieur d'un EL portée commepageScope
. En supposant que leexam
référence d'objet est référencé dans la pageScope "examen", puis le suivant EL va appeler legetHarfTo
méthode:REMARQUE: vous ne pouvez pas appeler une méthode de définition.
De s'étendre sur le dessus (et juste à titre d'exemple), nous pouvons définir le
exam
exemple dans lepageScope
en utilisant les scriptlets (à noter que les scriptlets sont pas recommandées, c'est juste un exemple de clarification)maintenant, nous pouvons accéder à l'examen de l'objet via EL: ${examen.harfTo}
L'examen de l'objet peut être ajouté à d'autres étendues telles que la demande de la portée et de l'étendue de session.
Scriptlets et EL
Variables créées dans un scriptlet ne sont pas directement accessibles à EL. Ainsi, les villes de la variable ne peut pas être utilisé dans les balises JSTL.
Pour ce faire, nous avons d'abord besoin de le mettre dans une certaine étendue. Par exemple:
Cela fait l'objet visé par les villes variable, disponible dans le
pageScope
par le nom de "villes".Les villes variable peut maintenant être accédé.
Vous ne pouvez pas avoir un scriptlet que la propriété de l'un EL de l'expression.
ou vous pouvez utiliser actions Standard si l'examen de la classe est conforme à la fève de conventions:
N'oubliez pas d'importer la JSTL tag lib:
EDIT:
Si vous avez une collection de
exams
qui contientexam
objets que vous pouvez utiliser JSTL pour parcourir ensuite la collection comme:OriginalL'auteur Alex Theedom
Vous avez besoin d'un TLD à faire ce que vous voulez.
Cette lien a un vraiment élaborer exemple .
HTH
OriginalL'auteur seeker
Pour accéder à la méthode, vous avez juste enlever la partie.
Les mêmes œuvres, si vous voulez appeler une classe de définition de la méthode.
OriginalL'auteur hglasgow