El表达式:expression language
$(对象.对象.属性名)
主要用来替换jsp中的脚本表达式,可以从各个域中找到Java对象,获取数据。
2利用el表达式可以在jsp页面中进行一些简单的运算,算数运算,逻辑运算,关系运算。
El表达式在执行内容的时候,会调用pagecontext.findattribute(),分别page--req--session--application域中获取内容,找不到就返回”” 空串。
操作集合里的内容可以使用 下标的方式获取 ${list[0].name}
操作hashmap
${map.key} 就能获得key对应的值 也可以通过索引获取${map.[“key”]}
隐式变量
Pagecontext 、
域名scope、 从当前的域中获取数据某条属性。
Param 请求参数的map类。获取到用户请求过来的内容,返回一个map
Paramvalue 返回一个字符串数组
Paramvalues.key.[0]
Header
Headervalue
Headervalue.key.[0]
Cookie
${cookie.key} 返回的是对象
${cookie.key.Value} 返回的是对象的值
运算符:
算数运算符
${1+2}
关系运算符
判断一个对象是否为空
${empty(user)}
使用二元表达式 三目运算符
${1>2?”ok”:”fail”}
逻辑运算符
${1>0 and 2<3}
${1>0 && 2<3}
${1>0 or2<3}
${1>0 || 2<3}
Jstl 标准标签库。
是为了弥补html标签的不足。使用jstl的目的是为了消除页面上的java逻辑代码。
Core 核心。 前缀c 14个标签
表达式控制标签:Out、set、remove、catch
Out :输出数据 <c:out value=”1234” default=””></c:out> 可以嵌套el表达
<c:out value=”” default=”morenzhi ”></c:out> value为空就输出默认值
Set:设置值,把一个对象存在一个指定的域范围内
<c:set var=”属性名” value=”属性值” scope=”属性存放的域”></c:set>
给对象/map设置某个属性
<c:set target=”$(bean对象)” property=”属性名” value=”值”>
Property 对象的属性
Remove 从指定的域中移除内容
<c:remove var =”删除属性名” scope=”删除该属性的域名”></c:remove>
Cathch:捕获jsp里面异常信息
<c:catch var=”errorinfo”>
<c:set var=”属性名” value=”属性值” scope=”属性存放的域”></c:set>
</c:catch>
流程控制标签:if 、choose、when、otherwise
If: 判断 实现条件的控制
<c:if
Test=”判断条件”
Var=”a(获取到test的结果)”
>
</c:if>
<c:out value=”${a}”>
<c:choose>
<c:when test =”判断条件1”> (el表达式)
<c:out value=”返回值”></>
<c:when >
<c:when test =”判断条件2”> (el表达式)
<c:when >
<c:when test =”判断条件3”> (el表达式)
<c:when >
<c:otherwise>
<c:out value=”返回值”></>
</c:otherwise>
</c>
循环标签:foreach、fortokens、url
<c:foreach items=”循环的内容” var=””>看
Items:获取到要遍历的集合
Var:每次循环产生的结果
Begin:开始的位置 eg :begin=”1”;
End:结束位置
Step:每次循环的步长
Var States:当前循环获取到的对象的状态。
</c:foreach>
ForTokens(针对字符串)。
Items=”字符串集合”
Delims=”-” 按什么拆分
Var=”每次得到的结果名”
$(对象.对象.属性名)
主要用来替换jsp中的脚本表达式,可以从各个域中找到Java对象,获取数据。
2利用el表达式可以在jsp页面中进行一些简单的运算,算数运算,逻辑运算,关系运算。
El表达式在执行内容的时候,会调用pagecontext.findattribute(),分别page--req--session--application域中获取内容,找不到就返回”” 空串。
操作集合里的内容可以使用 下标的方式获取 ${list[0].name}
操作hashmap
${map.key} 就能获得key对应的值 也可以通过索引获取${map.[“key”]}
隐式变量
Pagecontext 、
域名scope、 从当前的域中获取数据某条属性。
Param 请求参数的map类。获取到用户请求过来的内容,返回一个map
Paramvalue 返回一个字符串数组
Paramvalues.key.[0]
Header
Headervalue
Headervalue.key.[0]
Cookie
${cookie.key} 返回的是对象
${cookie.key.Value} 返回的是对象的值
运算符:
算数运算符
${1+2}
关系运算符
判断一个对象是否为空
${empty(user)}
使用二元表达式 三目运算符
${1>2?”ok”:”fail”}
逻辑运算符
${1>0 and 2<3}
${1>0 && 2<3}
${1>0 or2<3}
${1>0 || 2<3}
Jstl 标准标签库。
是为了弥补html标签的不足。使用jstl的目的是为了消除页面上的java逻辑代码。
Core 核心。 前缀c 14个标签
表达式控制标签:Out、set、remove、catch
Out :输出数据 <c:out value=”1234” default=””></c:out> 可以嵌套el表达
<c:out value=”” default=”morenzhi ”></c:out> value为空就输出默认值
Set:设置值,把一个对象存在一个指定的域范围内
<c:set var=”属性名” value=”属性值” scope=”属性存放的域”></c:set>
给对象/map设置某个属性
<c:set target=”$(bean对象)” property=”属性名” value=”值”>
Property 对象的属性
Remove 从指定的域中移除内容
<c:remove var =”删除属性名” scope=”删除该属性的域名”></c:remove>
Cathch:捕获jsp里面异常信息
<c:catch var=”errorinfo”>
<c:set var=”属性名” value=”属性值” scope=”属性存放的域”></c:set>
</c:catch>
流程控制标签:if 、choose、when、otherwise
If: 判断 实现条件的控制
<c:if
Test=”判断条件”
Var=”a(获取到test的结果)”
>
</c:if>
<c:out value=”${a}”>
<c:choose>
<c:when test =”判断条件1”> (el表达式)
<c:out value=”返回值”></>
<c:when >
<c:when test =”判断条件2”> (el表达式)
<c:when >
<c:when test =”判断条件3”> (el表达式)
<c:when >
<c:otherwise>
<c:out value=”返回值”></>
</c:otherwise>
</c>
循环标签:foreach、fortokens、url
<c:foreach items=”循环的内容” var=””>看
Items:获取到要遍历的集合
Var:每次循环产生的结果
Begin:开始的位置 eg :begin=”1”;
End:结束位置
Step:每次循环的步长
Var States:当前循环获取到的对象的状态。
</c:foreach>
ForTokens(针对字符串)。
Items=”字符串集合”
Delims=”-” 按什么拆分
Var=”每次得到的结果名”