El表达式
1.EL表达式需要的环境:servlet2.4/jsp2.0
2.EL表达式的运算符 . []
${sessionScope.user.name} 等价于 ${sessionScope.user[“name”]}
注意:如果你的你存放的在key值有特殊的字符则必须是用”[]”的运算符,像出现这个的字符“-,@”等等 如:${sessionScope.user[“user_name”]};
3.EL表达式的隐含对象 与jsp中对应
1.输入有关的隐含对象
param = request.getParameter(“”);
paramValues = request.getParameterValues(“”);
注:paramValues 返回的是一个数组 对表单提交的有多个的选则的时候使用到的
2.与范围有关的隐含对象
pageScope = page.getAttribute(“”);
requestScope = request.getAttribute(“”);
sessionScope = session.getAttribute(“”);
applicationScope = servletContext.getAttribute(“”);
重点掌握一个 pageContext
pageContext可以用来获取其他的内置对象
向我们很熟悉的${pageContext.request.contextPath}
= <%=request.getContextPath()%>
用pageContext获取sessionId
${pageContext.session.id}
cookie = request.getCookies();
其他的:
header
headerValues
initParam 这个是用来获取web.xml中的配置文件
<context-param>
<param-name>userid</param-name>
<param-value>mike</param-value>
</context-param>
在servlet相当与 ServletConfig config = this.getServletConfig();
config.getInitParameter(“userid”);的是一个配置文件的值
对map取值:通过 map.key 是键 map.value 是值
上面都是以map的形式放在缓存中的
在el表达式运算符
and or ge/>= gt/> le/<= lt/<
mod/% div/”/” ne /!= eq/=
false true empty instanceof
jstl的核心标签库
<%@ taglib uri=”[url]http://java.sun.com/jsp/jstl/core[/url]” prefix=”c”%>
1.<c:set>的用法
<c:set value=”保存在缓存中的值” var=”取得该值的键” scope=”page/request/session/application”/>
2.<c:out>
<c:out value=”value” escapeXml=”true/false是否进行格式转换” default=”在value为null的时候输出该值”>
3.<c:if>
<c:if test=”可以使用el表达式” [var=”varName/保存在缓存中的键” scope=”page/request/session/appliaction”] >
</c:if>
4.<c:remove>
在jsp中是用来移除变量
<c:remove var=”varname” [scope=”page/request/session/appliaction”]>
=
<c:remove var=”${varname}”>
5:在jstl中表示 if.........else if...............else的条件
<c:choose>
<c:when test=”条件/可以用el表达式”>
</c:when>
<c:when test=””>
</c:when>
<c:otherwise>
当上面的条件都不满足的时候将要执行的代码
</c:otherwise>
</c:choose>
重点:
6:<c:forEach> = for循环
<c:forEach items=”” begin=”” end=”” var=”” step=”” varStatus=””>
解说: items:将被遍历的集合 (Collection/Map/Arrays)
begin:开始的位置
end:结束的位子
var:放在缓存中的键
step;是步长 默认为1
varStatus:一般可以用控制表格的隔行显示的颜色
index:当前成员的索引值
count:共访问成员的数量
first:当前成为是否为第一个成员
last: 当前成员是否为最后一个成员
</c:forEach>
varStatus的使用实例:
<c:forEach items="${arry1}" var="n" begin="3" end="5" step="2">
${n}
</c:forEach>
<table width="80%" border="1">
<c:forEach items="${arry1}" var="e" varStatus="status">
通过varStatus中的属性来控制样式的显示方式
<tr class="tr${status.count mod 2 +1}">
<td>
index: ${status.index}
</td>
<td>
count: ${status.count}
</td>
<td>
first: ${status.first}
</td>
<td>
last: ${status.last}
</td>
<td>
${e}
</td>
</tr>
</c:forEach>
</table>
7.<c:forTokens>用于jsp中对一个字符窜的遍历
<c:forTokens items=”字符集” delims=”通过什么来区分开字符窜” begin=”” end=”” var=”” varStatus=”” >
delims是用来按照什么格式来分割string = string 中split(“”);
</c:forTokens>
实例:
String str = “chen:xue:lin”;
<c:forTokens items=”str” delims=”:” var=”test”>
${test}
</c:forTokens>
jstl自定义标签库
<%taglib uri=”[url]http://java.sun.com/jsp/jstl/ftm[/url]” prefix=”ftm”%>
<fmt:formatNumber value=”value/要格式化的值”
var=””
scope=”page/request/session/appliaction”
type=”number/currency货币/percent百分比”
currencyCode=”currencyCode” 标准的货币字符 cny(人民币) usd 美元
currencySymbol=”currencySymbol” 标准的货币符号:¥ $
groupingUsed=”true/false” 是否对数值区隔
maxFractionDigits=””多少位小数
maxIntegerDigits=””多少位整数
pattern=””格式化数值如:###,###.##
>
注意在当当网中我们还用了一个标签库:
<%@ taglib prefix=”fn” uri=”[url]http://java.sun.com/jsp/jstl/functions[/url]”%>
${fn:contains(string,substring)} 在string字符窜中是否包含substring字符窜
${fn:containsIgnoreCase(string,substring)}
${fn:startsWith(string,suffixstring)}
${fn:endWith(string,suffixstring)}
${fn:escapeXml(string)}将字符窜string 进行特殊转换
${fn:indexOf(string,substring)}
${fn:split(string,”,”)}
${fn:join(array,sepatator)}//合并字符窜
${fn:replace(string,oldstring,newstring)}
${fn:trim(string)}
${fn:substring(string,beginIndex,endIndex)}
${fn:substringAfter(string,substring)}
${fn:toLowerCase(string)}
${fn:toUpperCase(string)}
${fn:length(input)} 取得集合对象的数量或者字符窜中的字符数
EL表达式 js基础
最新推荐文章于 2024-01-18 21:39:49 发布