JSTL详解(一)
JSTL EL 表达式语言简介
EL是从JavaScript脚本语言得到启发的一种表达式语言,它借鉴了JavaScript多类型转换无关性的特点。在使用EL从scope中得到参数时可以自动转换类型,因此对于类型的限制更加宽松。Web服务器对于request请求参数通常会以String类型来发送,在得到时使用的Java语言脚本就应该是request.getParameter(“XXX”),这样的话,对于实际应用还必须进行强制类型转换。而EL就将用户从这种类型转换的繁琐工作脱离出来,允许用户直接使用EL表达式取得的值,而不用关心它是什么类型。
下面的示例就是一个EL表达式.
<%@ page contentType="text/html; charset=UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><body> ${sampleValue + 1} <br> </body></html>
<%request.getSession().setAttribute("sampleValue", new Integer(10));%>${sessionScope.sampleValue}
<%@ page contentType="text/html; charset=UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <body> <form action="SampleJsp.jsp"> <input type="text" name="sampleValue" value="10"> <input type="text" name="sampleValue" value="11"> <input type="text" name="sampleValue" value="12"> <input type="text" name="sampleSingleValue" value="SingleValue"> <input type="submit" value="Submit"> </form> </body></html>
<%@ page contentType="text/html; charset=UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <body> ${paramValues.sampleValue[2]} <br> ${param.sampleSingleValue} <br> </body></html>
操作符功能和作用.访问一个bean属性或者Map entry[]访问一个数组或者链表元素()对子表达式分组,用来改变赋值顺序? :条件语句,比如:条件?ifTrue:ifFalse如果条件为真,表达式值为前者,反之为后者+数学运算符,加操作-数学运算符,减操作或者对一个值取反*数学运算符,乘操作/ 或div数学运算符,除操作% 或mod数学运算符,模操作(取余)== 或eq逻辑运算符,判断符号左右两端是否相等,如果相等返回true,否则返回false!= 或ne逻辑运算符,判断符号左右两端是否不相等,如果不相等返回true,否则返回false< 或lt逻辑运算符,判断符号左边是否小于右边,如果小于返回true,否则返回false> 或gt逻辑运算符,判断符号左边是否大于右边,如果大于返回true,否则返回false<= 或le逻辑运算符,判断符号左边是否小于或者等于右边,如果小于或者等于返回true,否则返回false>= 或ge逻辑运算符,判断符号左边是否大于或者等于右边,如果大于或者等于返回true,否则返回false&& 或and逻辑运算符,与操作赋。如果左右两边同为true返回true,否则返回false|| 或or逻辑运算符,或操作赋。如果左右两边有任何一边为true返回true,否则返回false! 或not逻辑运算符,非操作赋。如果对true取运算返回false,否则返回trueempty用来对一个空变量值进行判断: null、一个空String、空数组、空Map、没有条目的Collection集合func(args)调用方法, func是方法名,args是参数,可以没有,或者有一个、多个参数.参数间用逗号隔开
Core[标签库]http://java.sun.com/jsp/jstl/core[URI]c[前缀]XML processinghttp://java.sun.com/jsp/jstl/xmlxI18N formattinghttp://java.sun.com/jsp/jstl/fmtfmtDatabase accesshttp://java.sun.com/jsp/jstl/sqlsqlFunctions[list][*][/list]http://java.sun.com/jsp/jstl/functionsfn