EL 与 JSTL

EL与JSTL的作用是为了减少JSP页面中的代码。

EL

EL(Expression Language):表达式语言 常用于取值

语法

EL 表达式以${开头,以}结束。

多个表达式可以连接在一起。

<%-- a + b = 8, c + d = 10--%>
<%-- 得到 810 --%>
${a+b}${c+d}

运算符:

EL表达式可以返回任意类型的值。如果EL表达式的结果是一个带有属性的对象,则可以利用[]或者.运算符来访问该属性。[]是比较规范的形式,.运算符则比较快捷。

${beanName["propertyName"]}
${beanName.propertyName}

隐式对象

pageContext 对象表示当前JSP页面的javax.servlet.jsp.PageContext。它包含了所有其他的JSP隐式对象。

${pageContext.request}

applicationScope sessionScope requestScope pageScope 隐式对象用于获取某一范围内的值。默认情况下从小范围依次查找。

账户:<%= request.getAttribute("account") %><br/>
密码:<%= request.getAttribute("pwd") %> <%-- 使用EL表达式取值 --%>
账户:${ requestScope.account } <br/>
密码: ${pwd}

JSTL

JSTL(JavaServer Pages Standard Tag Library):JSP 标准标签库,是一个定值标签库的集合,常用于遍历集合,条件测试,数据操作等。

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

其中前缀可以任意指定。

c:out

out 将结果输出到当前页面。

<c:out value="${requestScope.name}" default="hello"/>

c:set

  • 将数据放入作用域对象中,默认放入最小作用域
  • 设置有界对象的属性
<%-- loc = request.location --%>
<c:set var="loc" value="${requestScope.location}" scope="page" /> <%-- loc 的 city 属性设置为 Harbin --%>
<c:set target="${loc}" property="city" value="Harbin" />
<c:set target="${loc}" property="city">Harbin</c:set>

c:remove

删除有界变量

<c:remove var="loc" scope="page" />

c:if

条件测试,并将结果保存在有界变量中。

<c:if test="${loc.city == 'Harbin'}" var="flag">
Hey
</c:if>
${flag ? "Welcome to Harbin" : "Welcome"}

c:choose c:when c:otherwise

类似与 switch case default

<c:choose>
<c:when test="${loc.city == 'Harbin' }">Welcome to Harbin</c:when>
<c:when test="${loc.city == 'Dalian' }">Welcome to Dalian</c:when>
<c:otherwise>Welcome</c:otherwise>
</c:choose>

c:forEach

<%-- 固定次数重复 --%>
<c:forEach var="x" begin="2" end="10" step="2">${x} </c:forEach> <%-- 集合对象遍历 --%>
<c:forEach var="location" items="${locations}" varStatus="status">
<c:if test="${status.first}">begin<br/></c:if>
${status.count} ${location.city }<br/>
<c:if test="${status.last}">fin<br/></c:if>
</c:forEach>
属性 说明
begin 开始
end 结束
step 步长 默认1
varStatus 状态
varStatus.first 是否为第一个
varStatus.last 否为最后一个
varStatus.index 索引值(从1开始)
varStatus.count 循环次数

c:forTokens

遍历以特定分隔符分开的标识符

<c:forTokens items="this is a test" delims=" " var="word">${word}<br/></c:forTokens>

最新文章

  1. apache 虚拟机配置
  2. MySql: 常见sql语句
  3. 与类相关基本概念----Beginning Visual C#
  4. Java IO流题库
  5. 利用canvas实现抽奖转盘---转载别人的
  6. div弹出层的效果带关闭按钮
  7. 【poj1182】 食物链
  8. JDk 内部分工具 简述
  9. 视差滚动(Parallax Scrolling)效果的原理与实现
  10. 图片ppm编码格式
  11. Work 1(导游类)(2017.06.27)
  12. 【Oracle RAC】Linux系统Oracle11gR2 RAC安装配置详细过程V3.1(图文并茂)
  13. express+sequelize 做后台
  14. asp.net core 系列 21 EF现有数据库进行反向工程
  15. AD域详解
  16. Oracle中数值的计算
  17. Socket网络编程--简单Web服务器(2)
  18. Java集合入门
  19. SpringBoot入门(IDEA篇)(一)
  20. Milk Patterns POJ - 3261(后缀数组+二分)

热门文章

  1. centos7上安装jdk1.8
  2. CF140C New Year Snowmen
  3. 某酒店建筑设计CAD施工图
  4. Dynamics 365中的分派(Assign)。
  5. 6、netty第五个例子,使用websocket来通讯
  6. 分布式全局唯一ID生成策略​
  7. Linux系统学习 十九、VSFTP服务—虚拟用户访问—为每个虚拟用户建立自己的配置文件,单独定义权限
  8. nginx(4)
  9. volatile可见性案例-黑马
  10. python Json报错json.decoder.JSONDecodeError