0

我试过了 :

<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')">

它工作正常。

4

4 回答 4

1

我意识到这是一个老问题......但是:

不起作用的原因是“价值是一个对象”。正确的 <s:set/> 应该是:

<s:set var="ordersymbol" value="'EURUSD'" />

而正确的 <s:push/> 是第二个。

于 2014-03-21T15:21:47.590 回答
1

你试过吗

<s:set name="ordersymbol" value="EURUSD" var="ordersymbol"/>
    <s:push value="@dao.positions@positionsO('%{#ordersymbol}')">

?

于 2013-05-10T08:32:13.377 回答
0

尝试

<s:push value="%{@dao.positions@positionsO(#ordersymbol)}">

类似的东西,但整体上采用表达式并对其进行评估。

于 2013-05-09T13:37:39.930 回答
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>

但是我仍然必须想办法,以防我在迭代器中使用列表,而不是上面的地图。

于 2013-05-09T12:52:30.860 回答