1.EL表达式
EL,表达式语言,是包含在JAVA EE平台中的一种技术,主要的目的是为了能够简化开发者在页面中的一些代码。特点是非常简洁,易懂。
1.2基本使用
通过变量名取值 :${变量
}
获取对象的属性值 :${对象名
.
属性名
}
获取集合元素 :${对象名
.size()} //
调用方法
${
对象名
[
索引
]} :
获取集合中索引的值
${map
集合对象名
["key"]} :
获取到
map 集合中的key
所应的
value
1.3作用域的访问对象
正常情况下,在使用EL表达式时,需要在表达式中添加对应的作用域,例如${sessionScope.XXX}, 如果没有写作用域访问对象,此时,EL表达式就会从page向request中查询,如果request中没有就会找到Session查询,session如果范围内没有,就会找到application,如果几个作用域都不包含要找的值或对象,就会返回null状态,此时如果调用
某个对象的某个属性或方法,
此时
EL
表达式如果没有找到对象就会直接输出空白。
1.4参数访问对象
param相当于是在页面中调用了request.getParameter("")来获取参数中的内容
paramValues相当于在页面中调用了
request.getParameterValues("")
来获取同名对
象的多个值,返回一个数组类型.
2.JSTL
JSTL,标准标签库。是为了能够提高JAVA WEB开发的效率以及维护性。
2.1导入依赖
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
使用标签库。
<c:set var="变量名" value="值" scope="request|session|application" /> 2
<c:set var="num" value="100" />
<c:out value="${num}"
将一个对象中的属性进行修改,target:
代表要修改的对象 ,
property:
要修改的对象中的属性 ,
value:
要修改的属性值
<c:set target="${userInfo}" property="username" value="zhangsan" />
<c:out value="${userInfo.userName}"
删除属性
<c:remove var="变量" />
条件标签
if
表达式是没有
else
的相关操作的,如果需要多层判断,则需要多写一些if
的语法
<choose>
<c:when test="条件表达式"> //满足条件
</c:when>
...
<c:otherwise> //多个条件都不满足,就会执行该段语句
</c:otherwise>
</choose>
循环控制
<c:forEach var="循环时的变量" items="集合|数组" begin="起始值" end="结束值" step="迭代步长" varStatus="循环属性变量">
//循环体
</c:forEach>
<c:forEach var="str" items="${strings}">
${str}
</c:forEach>
//按普通的值遍历
<c:forEach var="i" begin="0" end="10" step="1">
<a href="#">${i}</a>
</c:forEach>
//遍历map集合
<c:forEach var="m" items="${map}">
${m.key} --- ${m.value}
</c:forEach>
格式化
<fmt:formatNumber value="12.34" pattern="#0.00" /> 12.34 保留小数点后两位数
<fmt:formatNumber value="12" type="currency" pattern="$.00"/> -- $12.00
<fmt:formatNumber value="12" type="currency" pattern="$.0#"/> -- $12.0
<fmt:formatDate value="${date}" type="both"/> 输出格式: 2010-5-31 23:59:59
<fmt:formatDate value="${date}" type="date"/> 输出格式: 2010-4-1
<fmt:formatDate value="${date}" type="time"/> 输出格式: 23:59:59