黑马程序员技术交流社区
标题:
【厦门校区JavaEE就业2期-每日总结】el&jstl
[打印本页]
作者:
厦门校区
时间:
2018-8-7 14:30
标题:
【厦门校区JavaEE就业2期-每日总结】el&jstl
请按照自己的语言,总结下面的知识点:
1、如何使用EL表达式?
2、JSTL如何使用?
3、今天遇到了什么Bug,如何解决的?
作者:
刘思聪
时间:
2018-8-8 09:42
请按照自己的语言,总结下面的知识点:
1、如何使用EL表达式?
格式为${表达式内容}
表达式可以用键名从域对象中获取值(如果获取到对象,则可以通过键.属性名的方式从对象中获取值(实际调用getter方法),
如果获取到的对象为list集合,则可以在后面以中括号[]中索引值的方式来获取具体的元素,如果是map集合,则可以通过以下
两种方式获取到值:键名.key值 或者 键名["key值"],表达式中,可以使用运算符(除了常规的java运算符,还有empty运算等,
部分运算符也有不同于java语言的写法,如&&可写作and等
2、JSTL如何使用?
JSTL需要使用非JSP内置的包来实现(如Apache的Apache Taglibs(目前课上使用的)实现包,或者原Sun(现Oracle)的Glassfish),
首先应当把Jar包导入到环境中,并在JSP中使用指令声明<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>,
之后再页面中,便可以c为前缀使用JSTL的标签.(如<c:if><c:choose><c:foreach>等
作者:
xiguahx
时间:
2018-8-8 09:43
黄希
1、如何使用EL表达式?
EL语法
${表达式}
使用运算符
算术运算符 + - * / %
比较运算符 > < >= <= == !=
逻辑运算符 && || !
空运算符
empty 判断字符串、数组、集合是否为null或者长度为0
not empty
从域对象中获取值
${域名称.键名}
域名称
pageScope
requestScope
sessionScope
applicationScope
${键名}
如果不写域名称,依次从作用范围最小的域中查找该键,直到找到为止
域作用范围从小到大依次为:page、request、session、application
获取对象的属性值
${域名称.键名.属性名}
属性名本质上是调用对象的getter方法
获取List集合
${域名称.键名[索引]}
获取Map集合
${域名称.键名.key名称}
${域名称.键名["key名称"]}
隐式对象
${pageContext.JSP内置对象.属性名}
例如 ${pageContext.request.contextPath}
2、JSTL如何使用?
使用步骤
1、导入jar包
javax.servlet.jsp.jstl.jar
jstl-impl.jar
2、在JSP页面上引入标签库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
3、使用标签
常用标签
if 条件判断
<c:if test="${布尔表达式}">
输出内容...
</c:if>
choose 相当于switch语句
<c:choose>
<c:when test="${布尔表达式}">输出内容...</c:when>
<c:when test="${布尔表达式}">输出内容...</c:when>
...
<c:otherwise>输出内容...</c:otherwise>
</c:choose>
foreach
相当于for循环语句
<c:forEach var="循环变量名称" begin="起始值" end="结束值" step="步长" varStatus="循环状态对象">
循环输出的内容...
</c:forEach>
varStatus循环状态对象有两个属性
index 表示数组或集合中元素的索引,起始索引与begin的值一致
count 表示循环次数,从1开始
相当于增强for循环语句
<c:forEach items="${数组或集合对象}" var="遍历时的临时变量名称" varStatus="循环状态对象" >
遍历输出的内容...
</c:forEach>
varStatus循环状态对象有两个属性
index 表示数组或集合中元素的索引,索引从0开始
count 表示循环次数,从1开始
3、今天遇到了什么Bug,如何解决的?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2