|
Expression Language在jsp2.0中正式纳入了标准. 1. 语法 以${为起始,一}为结尾.
1.1 .与[]运算符 <% User u = (User)session.getAttribute("userInfo"); //User 类里有sex属性 %>
${u.sex} ${u["sex"]}
.和[]可以混合使用.
特殊: (1)当属性名称中包含一些特殊字符,如.或-等非字母或数字的符号,就一定要用[] 比如 ${user.my-Name}必须改成${user["my-Name"]} (2)${user[data]}中的data是个变量,可动态取值 假设${exprA[exprB]} a)当exprA的值为null时,它会回传null b)当exprB的值为null时,它会回传null c)当exprA的值为Map类型时: *假如!valueA.containsKey(valueB)为真,则回传null *否则回传valueA.get(valueB) d)当exprA的值为List或array类型时: *将valueB的至强制转换为int,如不能转换为int则产生error. * ... * ... * ... e)当exprA的值为JavaBean对象时: *将valueB的值强制转型为String *若getter产生异常时,则会产生error,若没有异常产生时,则回传getter的结果.
1.2 EL变量
|