Domanda

Questo sta per essere un po 'difficile da spiegare. Sto cercando di scrivere un tag per componentise una serie di campi di indirizzo, ma sto avendo problemi a lavorare fuori l'espressione OGNL.

Utilizzo previsto:     

mappe member.address a un oggetto Indirizzo (niente di troppo mannaia).

Il mio tag (versione più semplice):

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

Credo che il problema è che <s:push value="%{#attr.name}"/> non è in realtà spingendo il risultato di member.address nello stack è solo spingendo una stringa di valore 'member.address' invece.

È stato utile?

Soluzione

Un po 'più di ricerca e di un lungo periodo di tempo a fissare il OGNL documentazione risultati nella seguente:

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

Sembra todo il trucco.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top