有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

数组JSTL<c:set>正文内容精确规范

有人能建议如何解释<c:set>正文吗

  • <c:set var="movieList">One,Two,Three</c:set>

  • <c:set var="movieList">"One","Two","Three"</c:set>

在第一种情况下movieList是一个字符串,在第二种情况下是一个数组{"One", "Two", "Three"}

在这些例子中movieList是什么

  • <c:set var="movieList">"On"e","Tw"o","Thr"ee"</c:set>

  • <c:set var="movieList">"On\"e","Tw"o","Thr\"ee"</c:set>


共 (2) 个答案

  1. # 1 楼答案

    <c:set var="alphabet">A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z</c:set>
    
    <c:forTokens items="${alphabet}" delims="," var="letter">
        ${letter}
    </c:forTokens>
    
  2. # 2 楼答案

    c:set主体的解释Java类型中没有差异。在所有病例中都是String

    即使使用EL将非字符串类型设置为c:set的主体,例如

    <c:set var="foo">${bean.someInteger}</c:set>
    

    它将被String#valueOf()转换为String

    只有在事后处理变量时,可能会有差异,这取决于处理变量的方式。比如

    <c:set var="movieList">One,Two,Three</c:set>
    <c:set var="realMovieArray" value="${fn:split(movieList, ',')}" />
    

    将导致${realMovieArray}成为String[],其值为OneTwoThree