2013-10-03 12 views
1

我幾年來沒有碰過Struts2,因此不得不在一些JSP頁面上進行一些維護。但我找不出合適的語法將<s:Action>標記的輸出傳遞給<s:url>標記。如何將<s:action>的輸出傳遞給JSP視圖中的<s:url>值參數?

我想做到以下幾點:

<s:action name="loadPath" namespace="/files" flush="false" var="filePath" /> 
    <s:url value="#filePath.path"/> 

但是,這並不工作。不過,我可以看到我的道路屬性正確設置這樣做:

<s:property value="#filePath.path" /> 

我與%,#$和周圍的發揮,但似乎無法找到正確的組合下車值堆疊到s:url標記中。

AHA!

一些周圍挖掘,以及試錯後,我終於找到了正確的組合:

<s:url value="%{ #filePath.path }"/> 

但我不明白爲什麼這個工程。任何人都可以提供解釋爲什麼這個語法工作,而不僅僅是value="#filePath.path"

+1

我試圖尋找答案並偶然發現這一點: http://stackoverflow.com/a/12150105/259889 – Sid

+0

@SidCool感謝您挖掘引用,雖然它有點相關,但它仍然可以解決問題。正如我所說的,我可以使用''標籤檢索值,但由於某種原因,它似乎不適用於''標籤。我已經更新了一個更清晰的問題。 –

+2

因爲您需要強制OGNL評估;默認是假定它只是一個字符串。考慮''action''屬性;通常你會把動作的名字放在那裏,而不是要評估的表達式 - 這是同樣的事情。 –

回答

相關問題