簡體   English   中英

如何檢索為 s:set 為 Struts2 動態生成的名稱標簽?

[英]How to retrieve dynamically generated name tag for s:set for Struts2?

如何在 Struts 2 上為 <s:set> 檢索動態生成的名稱標簽?

例如:在我的操作 class 中,我有一個 object(貨幣),其中包含以下字段:'id' 和 'symbol'。 所以在我的視圖頁面中我可以使用這個:

<s:iterator value="currency">
    <s:set name="var_%{id}" value="symbol"/>
    <s:set name="total_%{id}" value="%{0.0}"/>
</s:iterator>

所以我可以使用它來創建這些 PageContext 變量,如“var_BRL”、“var_USD”、“var_MXN”和“total_BRL”、“total_USD”、“total_MXN”等。如果我編寫以下代碼:

<s:property value="#var_USD"/> = <s:property value="#total_USD"/>

我可以檢索如下結果:

USD = 0.0

我正在使用這些 #total_XXX 變量來對另一個迭代器呈現的某些條件下的一些值求和,這種方式在另一個迭代結束時會得到,這是每種貨幣(巴西雷亞爾、美元、 MXN 等)。

但是當我嘗試動態檢索這些值時,什么都沒有呈現。 以下是我用來從這些變量中檢索值的代碼,位於頁面末尾。 我不太了解 OGNL,所以我嘗試了以下不同的安排,但都沒有成功:

<s:iterator value="currency">
    <s:property value="#var_%{id}"/> = <s:property value="#total_%{id}"/>
    <s:property value="#%{var_%{id}}"/> = <s:property value="#%{total_%{id}}"/>
    <s:property value="%{#var_%{id}}"/> = <s:property value="%{#total_%{id}}"/>
</s:iterator>

是否有在 PageContext 中檢索這些值的解決方案? 還是我只能在我的 Action 中解決這個問題? 我搜索了很多帖子,但我找不到任何東西。

謝謝! LZ

與朋友討論時,我找到了正確的 OGNL 表達式,可以在代碼末尾調用動態創建的變量名稱:

<s:iterator value="currency">
    <s:property value="#attr['var_'+id]"/> = <s:property value="#attr['total_'+id]"/><br>
</s:iterator>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM