Struts2標籤:checkboxlist

參考自博文:http://www.blogjava.net/koradji/articles/307399.htmlhtml

語法:java

<s:checkboxlist name="" list="" listKey="" listValue="" value="" />數組

  • name定義標籤名,用於接收畫面上選中的複選框,故應與Action裏定義的屬性一致,且多爲數組;
  • list定義集合變量,用於輸出複選框到畫面上,通常在Action裏定義一個List或Map屬性;
  • listKey若是在Action裏定義的是一個List,則每每會在List裏定義一個Bean,它只有兩個屬性,其中一個(好比id)就在這裏設置;
    • 若是在Action裏定義的是一個Map,則Map的key就在這裏設置;
  • listValue若是在Action裏定義的是一個List,則每每會在List裏定義一個Bean,它只有兩個屬性,另一個(好比name)就在這裏設置
    • 若是在Action裏定義的是一個Map,則Map的value就在這裏設置;
  • value用於回顯畫面上被選中的複選框,假如畫面有輸入檢查,若是有錯則返回原畫面並顯示出錯信息,這時候就須要使用它。
    • 通常把它設成和name一致就能夠了。

例子:markdown

查詢了全部的角色,獲得用戶與角色的全部id了。把封裝到數組中。spa

public String editUI() {

        //把全部的角色查詢出來,帶過去給JSP頁面顯示
        ActionContext.getContext().getContextMap().put("roleList", roleServiceImpl.findObjects());

        //外邊已經傳了id過來了,咱們要找到id對應的User
        if (user != null &&user.getId() != null  ) {
            //直接獲取出來,後面JSP會根據User有getter就能讀取對應的信息!
            user = userServiceImpl.findObjectById(user.getId());

            //經過用戶的id獲得所擁有UserRole
            List<UserRole> roles = userServiceImpl.findRoleById(user.getId());
            //把用戶擁有角色的id填充到數組中,數組最後回顯到JSP頁面
            int i=0;
            userRoleIds =  new String[roles.size()];
            for (UserRole role : roles) {
                userRoleIds[i++] = role.getUserRoleId().getRole().getRoleId();
            }

        }
        return "editUI";
    }

name值的是數組,能夠用於自動回顯。Action獲得角色的id也是經過它.net

<s:checkboxlist list="#roleList" name="userRoleIds" listKey="roleId" listValue="name"></s:checkboxlist>
相關文章
相關標籤/搜索