form標簽之form:checkboxes


最近遇到一個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 "";
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM