最近遇到一個bug關於form:checkboxes標簽的錯誤
如下,我從后台查到的是String 的數組。當是一個值的時候,頁面的多選框會選擇一個框的值。但是多個的時候,就沒值了
<form:checkboxes path="roleIds" items="${allRoles}" itemLabel="name"/>
原來這個path必須要是一個List<String>類型的才行
<form:checkboxes path="roleIdList" items="${allRoles}" itemLabel="name"/>
為了類型轉換,自己寫了個工具類
/** * string轉list * @param str * @return */ public static List<String> getStringToList(String str) { List<String> list = Lists.newArrayList(); if (StringUtils.isNotBlank(str)) { String[] arr = str.split(","); for (String s : arr) { list.add(s); } } return list; } /** * list轉string * @param list * @return */ public static String getListToString(List<String> list) { StringBuilder sb = new StringBuilder(); for (String s : list) { sb.append(s); sb.append(","); } if (sb.toString().endsWith(",")) { return sb.toString().substring(0, sb.length() - 1); } return ""; }