EL表達式獲取Map和List中的值


EL表達式獲取MapList中的值

 

EL表達式取Map中的值:

  1. Map中是String,String

后台servlet中:

Map<String, String> map1 = new HashMap<String, String>();

map1.put("a", "b");

map1.put("aa", "bb");

map1.put("aaa", "bbb");

前台jsp 中使用EL獲取Map

  1. 使用${map1["a"]}${map1.a}取值

${map1["a"]}

${map1.a}

輸出為:

  1. 使用jstl<forEach>標簽取值

<c:forEach items="${map1}" var="item">

    key:<c:out value="${item.key}" /> &nbsp;&nbsp;&nbsp;

    value:<c:out value="${item.value}" /> <br/>

</c:forEach>

輸出為:

不知道為什么與存放的順序不同?

  1. Map中是Integer,String

    后台servlet中:

            HashMap<Integer, String> map2 = new HashMap<Integer, String>();

            map2.put(1, "b");

            map2.put(2, "bb");

            map2.put(3, "bbb");

    前台jsp 中使用EL獲取Map

    1. 使用${map2[1]}${map2["1"]}不可以獲取到值,使用${map2.1}取值會報錯。Map中的key類型為Long時,可以使用${map2[1]}取到值
    2. 使用jstl<forEach>標簽取值,與Map中存放String,String時一樣,可以取到值

     

    EL表達式取List的值:

    后台servlet

    List<String> list1 = new ArrayList<String>();

    list1.add("a");

    list1.add("b");

    list1.add("c");

    list1.add("d");

    前台jsp 中使用EL獲取Map

    1. 使用${list1[1]}獲取值
    2. 使用jstl<forEach>標簽取值

        <c:forEach items="${list2 }" var="item">

            <c:out value="${item}"></c:out> <br/>

        </c:forEach>

    無論List中存放的是String或是Integer,上述兩種方式都可以成功取到值


免責聲明!

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



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