WEB开发——简单标签(EL、JSTL)

EL:Expression  Language

●  作用:方便存取数据所自定义的语言
● 
语法:${ 表达式}
------------------------------------------------------------------------------------------------------------------
 . 和[ ]两种运算符来存取数据:
●  语法:域对象.属性名
●  语法:域对象["属性名"](属性名中含有特殊字符时需要使用[ ]来获取属性值)
------------------------------------------------------------------------------------------------------------------
隐含对象:常用的几个。EL表达式获得到到的属性值,会自动进行类型转换
●  pageScope:获得page范围的属性名对应的值
●  requestScope:获得request范围的属性名对应的值
●  sessionScope:获得sessiont范围的属性名对应的值
●  applicationScope:获得application范围的属性名对应的值
●  获得请求中的参数值使用:param(获取单个)、paramValues(获取多个,复选框类)
注意:使用EL表达式获得属性值时,未指明从哪一个域中获得,那么默认从pageContext域开始查找,如果没有找到该属性,则从request域中查找,如果在request域中查找到了该属性,则返回该属性的值,并停止查找
------------------------------------------------------------------------------------------------------------------ 
保留字:(变量在命名时,应该避开,以免程序编译时发生错误 )
WEB开发——简单标签(EL、JSTL)
------------------------------------------------------------------------------------------------------------------ 
算术运算符:
WEB开发——简单标签(EL、JSTL)WEB开发——简单标签(EL、JSTL)
------------------------------------------------------------------------------------------------------------------ 
关系运算符:
WEB开发——简单标签(EL、JSTL)WEB开发——简单标签(EL、JSTL)
------------------------------------------------------------------------------------------------------------------ 
逻辑运算符:
WEB开发——简单标签(EL、JSTL)
  Empty运算符 :来判断值是否为 null 或空(${ empty param.name } )
●  条件运算符 :${ A ? B : C} 当A为true时,执行B;而A为false时,则执行 C
●  括号运算符 :改变执行优先权(${ A * (B+C) } )
WEB开发——简单标签(EL、JSTL)
------------------------------------------------------------------------------------------------------------------ 
JSTL:JavaServer  Pages  Standard  Tag  LibraryJSP标准标签函数库
●  作用:利用JSTL和EL取代直接在JSP页面上嵌入Java程序,以提高程序可读性、维护性和方便性
标签函数库主要分为:
WEB开发——简单标签(EL、JSTL)
------------------------------------------------------------------------------------------------------------------ 
核心标签库: (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的名字
------------------------------------------------------------------------------------------------------------------ 
自己整理,有些地方是扒拉的,如有侵犯,还望告知