struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lukasz Lenart <lukaszlen...@apache.org>
Subject Re: HashMap with String as key
Date Mon, 18 Mar 2019 12:01:25 GMT
czw., 14 mar 2019 o 21:38 Prasanth <dbadmin@pangburngroup.com> napisał(a):
>
> Sorry if I caused any confusion. This thread was meant to discuss String keys.  I do
have forms where I am using numeric keys and they work fine.
>
> I think I found a solution to my problem. Struts seems to expect single quotes for the
keys when the key is string. Updated code is shown below. Also I changed my separator to "a"
rather than "-".  So
> the two changes I have made are i) change separator to "a" ii) use single quotes around
the key when specifying the name for text field.
>
> JSP:
> <s:textfield name="accountAllocation[*'*%{#attr.mapKey}*'*]" size="3" cssClass="inline-input"/>
>
> Resulting HTML:
> <input name="accountAllocation['22419a23543']" size="3" value="50" id="AccountAllocations_accountAllocation_'22419a23543'_"
class="inline-input" type="text">

Ok, now we have a clear situation. The "name" attribute is evaluated
as an OGNL expression so in this case everything enclosed will be
parsed and treated as expression, from inner to outer.

Using "%" forces an additional evaluation but enclosing it in a single
quote (') means you expect a String so this expression
'%{#attr.mapKey}' should only return '12345-123', then
"accountAllocation[]" is evaluated as a map with a key (in this case
with a String key).

So using single quotes should do the trick in your case.


Kind regards
-- 
Łukasz
+ 48 606 323 122 http://www.lenart.org.pl/

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Mime
View raw message