概述
首先,在JSP页面中写入大量的java代码会导致JSP页面中html代码和java代码混杂在一起, 会造成页面非常的混乱.
-------- 难于维护
EL与和JSTL配合起来替JSP页面中的大部分的java代码.
el表达式
EL 全名为Expression Language,用来替代<%= %>脚本表达式。
基本结构: ${ 表达式 }
EL只能获取域中的数据
EL只能获取不能设置
EL只能获取不能遍历
作用:
(1) 获取数据
◇ 获取常量: 支持 数字/字符串/布尔值, 整个el表达式的值就是当前常量的值
◇ 获取变量
◇ 获取数组中的数据
◇ 获取集合中的数据
◇ 获取map中的数据
◇ 获取javaBean中的属性
例如:<%= request.getContextPath() %>
替换为:${ pageContext.request.contextPath }
(2) 执行运算
◇ 算术运算
◇ 关系运算
◇ 逻辑运算
◇ 三元表达式
◇ empty运算
(3) 获取常用开发对象
el中内置了11个常用对象, 可以不用预先存入域中就可以使用
◇ 代表当前JSP页面环境的pageContext对象
-----------------有了它就意味着el中就有了其他八大隐式对象
◇ 代表四大作用域的隐式对象, 用来明确指定从哪个域中查找数据
pageScope -- pageContext
requestScope -- request
sessionScope -- session
applicationScope -- ServletContext
◇ 请求参数组成的map
!!!param - Map<String, String>
paramValues - Map<String, String[]>
◇ 请求头组成的map
header -- Map<String, String>
headerValues - Map<String, String[]>
key为请求头的名字
◇ 所有cookie信息组成的map
cookie -- Map<String, Cookie>
${cookie.JSESSIONID.name}
例如:
key为Cookie的名字, 值为Cookie对象
Cookie cookie1 = new Cookie("c1", "xxx")
Cookie cookie2 = new Cookie("c2", "xxx")
Cookie cookie3 = new Cookie("c3", "xxx")
c1:cookie1
c2:cookie2
c3:cookie3
${ cookie.c1.value }
◇ 所有web应用初始化信息组成的map
initParam -- Map<String, String>
key初始化参数的名字, value为参数对应的值
JSTL
jstl标签库 -- 通用的JSP标签库
在JSTL中分为以下五个标签
核心标签--core
格式化标签
SQL标签
XML标签
JSTL函数
使用不同的标签的时候需要在JSP中引入不同的库
一些常用的标签:
core库
<c:out> 标签用于输出一段文本内容到pageContext对象当前保存的“out”对象中。
输出常量
输出变量
转义输出
输出默认值
<c:set> 标签用于把某一个对象存在指定的域范围内,或者设置Web域中的java.util.Map类型的属性对象或JavaBean类型的属性对象的属性。
向四大作用域中增加域属性
向map中增加、修改键值对
修改javabean的属性
<c:remove> 标签用于删除各种Web域中的属性
如果不指定scope属性,会删除所有作用域中的该属性
<c:catch> 标签用于捕获嵌套在标签体中的内容抛出的异常,其语法格式如下:<c:catch [var="varName"]>nested actions</c:catch>
捕获到的异常 可以通过声明var属性 用指定的名称 写入 pageContext域 后续处理
<c:if test=""> 标签可以构造简单的“if-then”结构的条件表达式
test 写判断表达式
scope 声明将test的结果存入哪个域
var 写入域时的属性名
<c:choose> - <c:when> <c:otherwise>
标签用于指定多个条件选择的组合边界,实现多重判断,可以构造类似 “if-else if-else” 的复杂条件判断结构。
<c:forEach> 标签用于对一个集合对象中的元素进行循环迭代操作,或者按指定的次数重复迭代执行标签体中的内容。
<c:forTokens> 用来浏览一字符串中所有的成员,其成员是由定义符号所分隔的
<c:url>标签用于在JSP页面中构造一个URL地址,其主要目的是实现URL重写。URL重写就是将会话标识号以参数形式附加在URL地址后面
最后
以上就是明亮战斗机为你收集整理的浅谈EL与JSTL的全部内容,希望文章能够帮你解决浅谈EL与JSTL所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复