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.

Était-ce utile?

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
scroll top