JSTL语法结构是${expression},它必须以 “${”开始,以“}”结束,中间的expression就是EL表达式的内容。表达式包含变量、文字常量、操作符。
EL表达式提供点运算符(.)和方括号运算符([])两种运算符存取数据,这两种运算符可以实现某种程度的互换,通常使用点运算符。但是当遇到以下两种情况时,就不能用点运算符而必须用方括号运算符
(1)、要存取的属性名称中包含一些非字母或数字的符号(如包含了.或?等
(2)、要动态取值
变量:
存取变量数据:${变量名}
如:${username},意为取出某一范围中名称为username的变量
默认的取值范围是page域,若page中没有指定的变量,就会依序从page、request、session、application中查找,如果途中找到就返回该变量;如果找不到,就会回传null
文字常量:
包括任何由单引号或双引号引起来的字符串,十进制、十六进制、八进制的整型值和浮点型的数字,包括true和false的布尔值和NULL
操作符:
算术运算符、关系运算符、逻辑运算符、验证运算符empty与条件运算符
其中算术运算符、关系运算符和逻辑运算符都与java中的用法意义相同。
验证运算符:
empty运算符:empty作为前缀,用来检索指定变量值是否为null或者empty
条件运算符?:${条件?truevalue :falsevalue},如果条件为真,则表达式的值为truevalue,否则为falsevalue