2009-05-12 6 views
3

Cela va être un peu difficile à expliquer. J'essaie d'écrire une balise pour composer un tas de champs d'adresse, mais j'ai de la difficulté à travailler sur l'expression ognl.Struts ognl expression pour évaluer le résultat de l'expression

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 ' au lieu.

Répondre

4

Un peu plus de recherche et un long temps à regarder les ognl documentation résultats dans les domaines suivants:

<%@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.

Questions connexes