2011-04-29 3 views
2

Existe-t-il un moyen d'accéder à un champ d'une classe Java en utilisant EL si un accesseur pour ce champ n'existe pas? Par exemple, disons que j'ai une classe Java avec un champ appelé foo.Accès direct à un champ d'une classe Java dans EL

Je sais que si j'ai aussi une méthode dans la classe appelée getFoo() Je peux le faire sur une page jsp en utilisant cette syntaxe:

object.foo 

Cependant, disons getFoo() n'existe pas (et je n'ai aucun moyen de le créer parce que je n'ai pas accès à la classe Java). Comment puis-je accéder au champ foo en utilisant EL dans ma jsp?

+1

En relation: http://stackoverflow.com/questions/3732608/how-to-reference-constants-in-el – BalusC

+0

J'aimerais avoir trouvé cette question Références de BalusC ici quand j'ai cherché; ça répond parfaitement à ma question! – risingTide

Répondre

4

Existe-t-il un moyen d'accéder à un champ d'une classe Java en utilisant EL si un accesseur pour ce champ n'existe pas?

N ° JSP EL est très stricte dans son exigence pour les classes conformes javabean. Vous avez besoin d'un getter pour votre domaine.

Peut-être pouvez-vous envelopper l'objet dans une autre classe que a un getter, et qui récupère le champ par réflexion.

+0

Oui, vous pouvez utiliser un objet Décorateur pour décorer l'objet à partir duquel vous souhaitez obtenir des informations. :) – MalsR

+0

C'est une vieille réponse mais je suis toujours intéressé par comment cela pourrait-il être fait? – Kai