EL表达式+JSTL

EL表达式+JSTL

EL表达式 表达式语言

格式:

${限域变量名}    限域变量名:设置作用域中的变量名
${expression}
pageContext 本页面
request 一次请求
session 一次会话
application 整个应用程序

EL表达式操作的是作用域,不能操作局部变量。
EL的取值方式是从小到大取,取到即止,如果四个范围都未取到 则显示空字符串
取值范围:page范围–》request范围–》session范围–》application范围

可以获取指定范围的作用域:
page范围:${pageScope.限域变量名}
request范围:${requestScope.限域变量名}
session范围:${sessionScope.限域变量名}
application范围:${applicationScope.限域变量名}

request.setAttribute是在请求域里面加了一个请求的参数,所以在sendRedirect以后是无法取到request.setAttribute的请求的

el表达式获取不了局部变量

<%--获取指定范围的数据--%>
page作用域:${pageScope.uname}<br>
request作用域:${requestScope.uname}<br>
sessionScope作用域:${sessionScope.uname}<br>
applicationScope作用域:${applicationScope.uname}<br>
默认获取最小范围的数据:${uname}<br>
获取集合的长度:${list.size()}<br>
获取指定下标的值:${list[0]}<br>

获取指定key的value:${map.aaa} -- ${map["bbb"]}<br>

获取JavaBean对象:${user}<br>
<%--属性字段必须提供get方法--%>
获取JavaBean对象的属性:${user.uname} -- ${user.getUname()} -- ${user.student.stuname}<br>

empty判读域对象是否为空  为空,返回true  不为空 返回false
${empty  限域变量名}
判断对象是否不为空
${empty 限域变量名}

JSTL 的使用

  1.拷贝jar包
  2.通过taglib指令 引入标签
<%-- 核心标签库 --%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%--格式化标签库 --%>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>

条件判断
if标签

<c:if test="条件">

满足条件的代码

</c:if>

注:没有else标签 如果需要实现else的效果 需要设置相反的条件

choose when otherwise标签
1.choose标签与otherwise标签没有属性  when标签必须要有test标签
2.choose标签至少有一个我很标签
3.otherwise标签必须放在最后一个when标签不执行时才会执行
4.choose标签只能包含when和otherwise标签,when和otherwise标签中可以嵌套其他标签
迭代标签
    forEach标签
    var 限域变量名
    begin 开始循环的数
    end  结束循环的数

    items 要遍历的集合
    <c:forEach var="i" begin="1" end="10">
  ${i}
</c:forEach>
相当于Javafor(int i=1;i<=10;i++){

}

  <c:forEach var="str" items="${list}">
  ${str}
  </c:forEach>
  相当于Javafor(String str:list ){

  }


formatDate格式化日期标签
将日期型数据转化成指定格式的字符串

<%
request.setAttribute("data1",new Date());
%>
  ${data1}<br>
  <fmt:formatDate value="${data1}" type="date"/><br>
    <fmt:formatDate value="${data1}" type="time"/><br>
      <fmt:formatDate value="${data1}" type="both"/><br>
        <fmt:formatDate value="${data1}" type="date" dateStyle="FULL"/><br>
          <fmt:formatDate value="${data1}" type="date" dateStyle="short"/><br>
            <fmt:formatDate value="${data1}" pattern="yyyy-MM--dd"/><br>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值