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

时间:2011-07-25 18:32:44

标签: arrays jsp jstl

有人可以建议如何解释<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 个答案:

答案 0 :(得分:3)

c:set正文的解释Java类型存在差异。它只在{em>所有个案中String

即使使用EL(例如

)将非String类型设置为c:set的正文
<c:set var="foo">${bean.someInteger}</c:set>

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

只有在您之后处理变量时,可能会有所不同,具体取决于您处理它的方式。例如,

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

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

答案 1 :(得分:0)

<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>