2010-05-30 6 views
2

Struts 2 résoudra tous les noms de propriétés lors du rendu de la vue par rapport à l'objet supérieur dans ValueStack en premier. Mais comment peut-on accéder à une propriété portant le même nom sur l'objet inférieur de la pile?Struts 2 - Accès aux différentes propriétés sur le ValueStack partageant le même nom

Exemple:

Disons que j'ai une classe d'action appelée MonAction et il a une propriété de LogDate. De l'avis rendu après cette action est invoquée, il y a ceci:

 
<s:iterator value="users" status="itStatus"> 
    <s:property value="logDate"/> 
</s:iterator> 

Maintenant, imaginez un objet utilisateur a également une propriété LogDate. Pendant l'itération, Struts 2 va toujours pousser l'objet utilisateur courant vers le haut de ValueStack en résolvant efficacement tous les noms de propriétés. Mais, que se passe-t-il si je veux accéder à logDate depuis l'action? Quelle est la bonne façon de faire cela?

Répondre

3

Vous pouvez utiliser un index pour regarder un sous-empilement. Par exemple: [0] .logDate lancerait la recherche à l'arrêt de la pile et trouverait logDate sur l'objet utilisateur. [1] .logDate lancerait la recherche d'un niveau plus profond et trouverait le logDate sur la classe Action. Cette OGNL page (voir la section juste au-dessus de l'en-tête Accessing static properties) a plus de détails et en voici une autre explanation.

+0

Bien! Merci beaucoup pour cette réponse rapide :) P.S. Y a-t-il un moyen de marquer la question en réponse? – kaqqao

+0

Vous êtes les bienvenus - content que cela a aidé. Il devrait y avoir une coche vide à côté de la réponse. En cliquant dessus, il devient vert pour l'accepter. –

Questions connexes