EL:(Expression Language)
● 作用 :方便存取数据所自定义的语言● 语法 :${ 表达式}
------------------------------------------------------------------------------------------------------------------
. 和[ ]两种运算符来存取数据:
● 语法 :域对象.属性名
● 语法 :域对象["属性名"](属性名中含有特殊字符时需要使用[ ]来获取属性值)
------------------------------------------------------------------------------------------------------------------
隐含对象: ( 常用的几个。EL表达式获得到到的属性值,会自动进行类型转换 )
● pageScope :获得page范围的属性名对应的值
● requestScope :获得request范围的属性名对应的值
● sessionScope :获得sessiont范围的属性名对应的值
● applicationScope :获得application范围的属性名对应的值
● 获得请求中的参数值使用: param (获取单个)、 paramValues (获取多个,复选框类)
注意:使用EL表达式获得属性值时,未指明从哪一个域中获得,那么默认从pageContext域开始查找,如果没有找到该属性,则从request域中查找,如果在request域中查找到了该属性,则返回该属性的值,并停止查找
------------------------------------------------------------------------------------------------------------------
保留字: (变量在命名时,应该避开,以免程序编译时发生错误 )
------------------------------------------------------------------------------------------------------------------
算术运算符:
------------------------------------------------------------------------------------------------------------------
关系运算符:
------------------------------------------------------------------------------------------------------------------
逻辑运算符:
● Empty运算符 :来判断值是否为 null 或空(${ empty param.name } )
● 条件运算符 :${ A ? B : C} 当A为true时,执行B;而A为false时,则执行 C
● 括号运算符 :改变执行优先权(${ A * (B+C) } )
------------------------------------------------------------------------------------------------------------------
JSTL:(JavaServer Pages Standard Tag Library,JSP标准标签函数库)
● 作用 :利用JSTL和EL取代直接在JSP页面上嵌入Java程序,以提高程序可读性、维护性和方便性
标签函数库主要分为:
------------------------------------------------------------------------------------------------------------------
核心标签库: (Core tag library)
● 导入JSTL的jar包到当前的工程下
● 在需要使用JSTL的jsp页面中引入标签
注意:标签为<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>,其中prefix,表示标签的前缀(可以自定义,一般写为c),uri表示引入的标签库地址
------------------------------------------------------------------------------------------------------------------
表达式操作之<c:out>: ( 在页面输出内容 )
语法 :<c:out value="value" />
属性:
● value :需要显示出来的值
● default :如果value的值为null,则显示default的值,没设置default则为空的字符串
● escapeXml :是否转换特殊字符(默认true)
------------------------------------------------------------------------------------------------------------------
表达式操作之<c:set>:(向域中添加属性)
语法 :< c:set value="value" var="value"/>
属性:
● value :存放到域中的值
● var : 存入值的变量名称
● scope :作用域(page、request、session、application,未定义时,默认page)
------------------------------------------------------------------------------------------------------------------
表达式操作之<c:remove>: ( 主要用来移除变量 )
语法 :<c:remove var="varName" />
属性:
● var :移除的变量名称
● scope :作用域(page、request、session、application当没有指定时,则移除value定义的所有)
------------------------------------------------------------------------------------------------------------------
流程控制之<c:if>: ( 和if一样,只是没有eles )
语法 :<c:if test="表达式" var="varName" > 具体内容 </c:if>
属性:
● test :如果表达式的结果为 true,则执行本体内容,false则相反
● var :用来储存test运算后的结果
● scope :作用域(未定义时,默认page)
------------------------------------------------------------------------------------------------------------------
流程控制之<c:choose>: ( 和switch一样 )
语法 :<c:choose><c:when test="">内容</c:when ><c:otherwise>内容</c:otherwise></c:choose>
属性:
● tchoose相当于switch,when相当于case,otherwise相当于default
● test :表达式
------------------------------------------------------------------------------------------------------------------
迭代操作之<c:forEach>: ( 循环,相当于增强for循环 )
语法 :<c:forEach items="items" var="var">内容< /c:forEach>
属性:
● items : 需要遍历的对象
● var :每次取出的值存放的对象
● begin : 开始下标位
● end : 结束下标位(包含)
● step : 每次迭代的间隔数
● varStatus : 存放现在指到的相关成员信息(index、number、count、first、last )
------------------------------------------------------------------------------------------------------------------
迭代操作之<c:forTokens>: ( 相当于字符串的一个方法split,以指定值分隔 )
语法 :<c:forTokens items="items" delims="delims" var="var">内容</c:forTokens>
属性:
● items : 需要遍历的字符串
● var :每次取出的值存放的对象
● delims :定义用来分割字符串的字符
● begin : 开始下标位
● end : 结束下标位(包含)
● varStatus : 存放现在指到的相关成员信息(index、number、count、first、last )
● step : 每次迭代的间隔数
------------------------------------------------------------------------------------------------------------------
URL操作之<c:import>: ( 引入外部文件。转发 )
语法 :<c:import url="url"> 是否传参 </c:import>
属性:
● url : 导向的目标地址
------------------------------------------------------------------------------------------------------------------
URL操作之<c:param>: ( 在URL内容中传参 )
语法 :<c:param name="name" value ="value" />
属性:
● name :参数名称
● value : 参数的值
------------------------------------------------------------------------------------------------------------------
URL操作之<c:redirect>: ( 将客户端的请求从一个JSP网页导向到其他文件,重定向 )
语法 :<c:redirect url="url" >是否传参</c:redirect >
属性:
● url :导向的目标地址
------------------------------------------------------------------------------------------------------------------
URL操作之<c:url> : ( 主要用来产生一个URL,方便其他地方调用 )
语法 :<c:url value="value" var="varName">是否传参</c:url>
属性:
● value : 执行的URL
● var :这个url的名字
------------------------------------------------------------------------------------------------------------------
自己整理,有些地方是扒拉的,如有侵犯,还望告知