簡體   English   中英

Struts 2 s:提交按鈕語法以設置地圖中的值

[英]Struts 2 s:submit button syntax to set values in map

我正在瀏覽一些Struts 2代碼,並且看到了以前從未見過的Submit按鈕的語法。

<s:submit key="map.keyName$Value" />

它不再起作用了(它已經與Struts 2.0.x一起使用了,現在我們已經遷移到Struts 2.2.3了)。 我的意思是,它沒有根據地圖中提到的鍵設置適當的值。

以前有人使用過這種語法嗎?

我們將歡迎其他任何可讓我在地圖中設置值的語法建議(僅使用struts標記)。

包含此代碼的jsp頁面被設計為一個解耦的組件,可以在運行時包含在任何頁面中,這就是為什么該頁面無法調用任何Java代碼來在Java映射中設置這些值的原因-這就是為什么我正在尋找可以在地圖上設置值。

提前致謝

我在搜索“如何在Struts2中的地圖中設置值”時找到了此頁面,它使我想到了以下答案(據我了解,這有點過時):


作為HTML輸入元素:

<input type="hidden" name="myField[105]" value="myValue" />

這將填充一個聲明為的動作變量:

Map<Integer, String> myField;

這樣:

myField.get(105).equals("myValue"); // == true

通過以下方式在地圖中設置值:

僅在JSP中

OGNL分配聲明:

<s:set var="" value="map[key] = keyValue" /> 

Java的

<s:set var="" value="map.put(key, keyValue)" /> 

編輯

您可以使用以下命令在地圖(到操作類)中設置值

<s:hidden name="map[key]" value="keyValue" />

例如,按具有onclick屬性的提交按鈕( 答案 -假設有多個提交按鈕):

<script type="text/javascript">
    function setMap(key, keyValue) {
        document.getElementById("mapToSet").name="map['" + key + "']";
        document.getElementById("mapToSet").value=keyValue;
    }
</script>

<s:hidden name="test" id="mapToSet" />
<s:submit value="Search" onclick="setMap(key, keyValue)" />

暫無
暫無

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

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