L'expression de Struts pour évaluer le résultat de l'expression
Question
Cela va être un peu difficile à expliquer. Je suis en train d'écrire une étiquette à componentise un tas de champs d'adresse, mais je vais avoir du mal à travailler sur l'expression OGNL.
Utilisation prévue:
cartes member.address à un objet d'adresse (rien trop couperet).
mon tag (version la plus simple):
<%@taglib prefix="s" uri="/struts-tags" %>
<%@attribute name="name" required="true" rtexprvalue="true" type="java.lang.String" %>
<s:push value="%{#attr.name}">
Address line 1:
<s:property value="line1"/>
</s:push>
Je pense que le problème est que <s:push value="%{#attr.name}"/>
ne pousse pas en fait le résultat de member.address sur la pile, il est juste pousser une chaîne de valeur « member.address » à la place.
La solution
Un peu plus de recherche et longtemps les yeux fixés sur le OGNL documentation le résultat suivant:
<%@taglib prefix="s" uri="/struts-tags" %>
<%@attribute name="name" required="true" rtexprvalue="true" type="java.lang.String" %>
<s:push value="%{(#attr.name)(#attr)}">
Address line 1:
<s:property value="line1"/>
</s:push>
Semble todo l'affaire.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow