動態枚舉

頁面下拉框:
<div class="space-4"></div>
<div class="form-group">
    <label class="col-sm-4 control-label no-padding-right" for="receiptSubject"> 收單主體 </label>
    <div class="col-sm-8">
        <select class="common-select" name="receiptSubject" id="receiptSubject" class="col-xs-10 col-sm-6">
            $receiptSubject
        </select>
    </div>
</div>


後端:
controller:

@RequestMapping(value = "/add")
public String add(Model view) {
    view.addAttribute("validEnum", ValidEnum.ALL);
    view.addAttribute("ynEnum", YnEnum.ALL);
    view.addAttribute("bankList", LocalCacheUtil.getAllEffectiveBank());
    view.addAttribute("receiptSubject", fssStartAccountConfService.dynamicEnum("0"));

    return "/fssStartAccountConf/add";
}


fssStartAccountConfService:

public Map<String,String> dynamicEnumView() {

   Map<String,String> res = new HashMap<String,String>();
   String dynamicEnumStr = DynmaicConfigurerUtil.getString("dynamicEnum_receiptSubject","1:香港主體_2:歐洲主體_0:無");

   String[] dynamicEnums = dynamicEnumStr.split("_");
   for(String dynamic : dynamicEnums){
      String[] maps = dynamic.split(":");
      res.put(maps[0],maps[1]);
   }

   return res;
}

public String dynamicEnum(String value) {

   StringBuffer resString = new StringBuffer();
   Map<String,String> res = dynamicEnumView();

   Iterator<Map.Entry<String, String>> it = res.entrySet().iterator();
   while (it.hasNext()) {
      Map.Entry<String, String> entry = it.next();
      resString.append("<option id='receiptSubject");
      resString.append(entry.getKey());
      resString.append("' value=\"");
      resString.append(entry.getKey());
      String temp = entry.getKey();
      if (temp.equals(value)) {
         resString.append("\" selected = \"" + "selected\"");
      }
      resString.append("\">");
      resString.append(entry.getValue());
      resString.append("</option>");
   }
   return resString.toString();
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章