2013-05-09 21 views
0

我想:如何使用s:設定參數去S:推進行靜態方法調用中的Struts 2

<s:set name="ordersymbol" value="EURUSD" var="ordersymbol"/> 
    <s:push value="@[email protected](%{#ordersymbol})"> 

<s:set name="ordersymbol" value="EURUSD" var="ordersymbol"/> 
    <s:push value="@[email protected](#ordersymbol)"> 

<s:set name="ordersymbol" value="EURUSD" var="ordersymbol"/> 
    <s:push value="@[email protected](ordersymbol)"> 

<s:set name="ordersymbol" value="EURUSD" var="ordersymbol"/> 
    <s:push value="@[email protected](%{ordersymbol})"> 

無論上述四種工作,方法總是空參數。

雖然如果我嘗試

<s:push value="@[email protected]('EURUSD')"> 

它工作正常。

回答

1

我意識到這是一個老問題......但是:

在不工作的原因是,「值是一個對象。」正確< S:設置/ >將是:

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

和正確< S:推/ >是第二個。

0

我想通了一種方法。

<s:set value="@[email protected]('EURUSD')" var="symbol1"/> 
    <s:push value="#symbol1"> 

在使用迭代器

<s:iterator value="#{'EURUSD':'EURUSD','GBPUSD':'GBPUSD'}> 
<s:set value="@[email protected](value)" var="symbol1"/> 
    <s:push value="#symbol1">...</s:push> 
</s:iterator> 

但我還是得想出一個辦法,櫃面我在迭代器使用列表,如上面的不是地圖的情況。

0

嘗試

<s:push value="%{@[email protected](#ordersymbol)}"> 

類似的東西,但同時表達在整體評估。

1

你有沒有試着用

<s:set name="ordersymbol" value="EURUSD" var="ordersymbol"/> 
    <s:push value="@[email protected]('%{#ordersymbol}')"> 

相關問題