<s:radio list="#{'0':'AA','1':'BB','2':'CC'}" name="state"/> 提交後,如何在唯讀頁面顯示對應標籤(如 "AA")而非值("0")?
Struts2 會自動將 list 的 Key/Value 綁定,唯讀顯示時可直接使用 <s:property value="state"/> 並搭配相同的 Map,或在 Action 中準備 getStateText() 方法:
public String getStateText() {
Map map = new HashMap<>();
map.put("0", "AA"); map.put("1", "BB"); map.put("2", "CC");
return map.get(state);
}
頁面:<s:property value="stateText"/>
<s:radio> 內部同樣使用 list Map,Struts2 標籤庫提供 <s:property> 可直接輸出對應 Value,前提是 Action 暴露相同 Map 或提供轉換方法。