我试过了:
<s:set name="ordersymbol" value="EURUSD" var="ordersymbol"/>
<s:push value="@dao.positions@positionsO(%{#ordersymbol})">
<s:set name="ordersymbol" value="EURUSD" var="ordersymbol"/>
<s:push value="@dao.positions@positionsO(#ordersymbol)">
<s:set name="ordersymbol" value="EURUSD" var="ordersymbol"/>
<s:push value="@dao.positions@positionsO(ordersymbol)">
<s:set name="ordersymbol" value="EURUSD" var="ordersymbol"/>
<s:push value="@dao.positions@positionsO(%{ordersymbol})">
上述四种方法均无效,方法始终为空参数。
虽然我试试
<s:push value="@dao.positions@positionsO('EURUSD')">
它工作正常。
答案 0 :(得分:1)
你试过
吗?<s:set name="ordersymbol" value="EURUSD" var="ordersymbol"/>
<s:push value="@dao.positions@positionsO('%{#ordersymbol}')">
答案 1 :(得分:1)
我意识到这是一个老问题......但是:
无效的原因是“价值是一个对象”。正确的&lt; s:set /&gt;将是:
<s:set var="ordersymbol" value="'EURUSD'" />
和正确的&lt; s:push /&gt;是第二个。
答案 2 :(得分:0)
顺便说一下,我想出了一个替代方案。
<s:set value="@dao.positions@positionsO('EURUSD')" var="symbol1"/>
<s:push value="#symbol1">
如果使用迭代器
<s:iterator value="#{'EURUSD':'EURUSD','GBPUSD':'GBPUSD'}>
<s:set value="@dao.positions@positionsO(value)" var="symbol1"/>
<s:push value="#symbol1">...</s:push>
</s:iterator>
但是我仍然需要找到一种方法,因为我在迭代器中使用了一个列表,而不是上面的地图。
答案 3 :(得分:0)
尝试
<s:push value="%{@dao.positions@positionsO(#ordersymbol)}">
类似的东西,但整体表达并评估它。