我试过了:
<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')">
我知道这是一个老问题…但是:
in不起作用的原因是"value是一个对象"。正确的
<s:set var="ordersymbol" value="'EURUSD'" />
和正确的
你试过了吗
<s:set name="ordersymbol" value="EURUSD" var="ordersymbol"/>
<s:push value="@dao.positions@positionsO('%{#ordersymbol}')">
?
我顺便想到了一个替代方法。
<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>
但是我仍然需要找到一种方法,如果我在迭代器中使用列表,而不是像上面那样使用映射。
Try
<s:push value="%{@dao.positions@positionsO(#ordersymbol)}">
是类似的东西,但是对一个表达式整体求值。