Java Web 学习(9) —— EL 与 JSTL

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}

隐式对象

Java Web 学习(9) —— EL 与 JSTL_第1张图片

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

${pageContext.request}

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

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

JSTL

JSTL(JavaServer Pages Standard Tag Library):JSP 标准标签库,是一个定值标签库的集合,常用于遍历集合,条件测试,数据操作等。
Java Web 学习(9) —— EL 与 JSTL_第2张图片

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

其中前缀可以任意指定。

c:out

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

c:set

  • 将数据放入作用域对象中,默认放入最小作用域
  • 设置有界对象的属性
<%-- loc = request.location --%>


<%-- loc 的 city 属性设置为 Harbin --%>

Harbin

c:remove

删除有界变量

c:if

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


    Hey

${flag ? "Welcome to Harbin" : "Welcome"}

c:choose c:when c:otherwise

类似与 switch case default


    Welcome to Harbin
    Welcome to Dalian
    Welcome

c:forEach

<%-- 固定次数重复 --%>
${x} 

<%-- 集合对象遍历 --%>

    begin
${status.count} ${location.city }
fin
属性 说明
begin 开始
 end 结束
 step 步长 默认1
varStatus 状态
varStatus.first 是否为第一个
varStatus.last 否为最后一个
varStatus.index 索引值(从1开始)
varStatus.count 循环次数

c:forTokens

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

${word}

你可能感兴趣的:(Java Web 学习(9) —— EL 与 JSTL)