博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
我爱Java系列---【EL和JSTL】
阅读量:4678 次
发布时间:2019-06-09

本文共 2751 字,大约阅读时间需要 9 分钟。

一、EL表达式

作用:主要就是用来代替JSP中的 <%= %> 这个标签的,他可以简单的用于输出语句

    1.输出四大域对象中的内容 ${key} 这样就可以全域查找到四大域对象中的key变量 如果key是一个对象的话,我们希望获取这个对象里面的某个get方法的返回值,我们只需要key.key1 key1就是getKey1()这个方法的返回值。

 

        <!-- 域对象获取值 -->

        <%=application.getAttribute("sc_key")%>
        <%=session.getAttribute("ss_key")%>
        <%=request.getAttribute("req_key")%>

 

        <!-- el 的取值方式 -->
        ${applicationScope.sc_key}
        ${sessionScope.ss_key}
        ${requestScope.req_key}

 

 

 

         <!-- el 的简化方式 ,只写key ,没有对象 -->

        ${sc_key}

        ${ss_key}

        ${req_key}

 

   <div>

    ${userMap.u1} <%-- 简单 --%>

    ${userMap['u.1']} <%-- 通用--%>//加单引号的作用:防止出现${userMap.u.1}的格式,出现无法正常解析的现象。
    ${userMap.u1.name} <%-- 简单 --%>
    ${userMap['u1'].age} <%-- 通用--%>
   </div>

 

    2.精确的四大域对象查找

      ${pageScope.key}

      ${requestScope.key}

      ${sessionScope.key}

      ${applicationScope.key}

    3.其他7个内置对象

  • param
  • paramValue
  • header
  • headerValue
  • cookie
  • pageContext 他可以获取其他所有的10个对象,因为它里面有其他十个对象的get方法
<!-- 在当前jsp页面引入header.jsp -->
<jsp:include page="/header.jsp"></jsp:include>

 

<!-- 在当前jsp页面引入footer.jsp -->

<jsp:include page="/footer.jsp"></jsp:include>

 

二、JSTL

       JSTL是EL的扩展,因为EL只是进行输出而已,但是有一些判断,遍历等等,这些操作就是JSTL。他需要引入jstl.jar 他有四大库,但是常用的只有两个一个是core另外一个就是formate标签库注意导入的时候uri是jsp/core 或者 jsp/formate。

 

使用之前先安装JSTL标签:

jar包百度云链接:

 

链接:https://pan.baidu.com/s/1IfbXVlofkpYE869Unn12Vw

提取码:d4is

jstl标签的安装步骤:

                                 a.导入jar包
                                 b.使用taglib指令在jsp页面导入要使用的jstl标签库,<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>。
                                 c.在jsp书写"<c:"< span="">,看到如下提示,说明安装成功:
1.core标签库(c标签)
  • out 输出标签 value就是要输出的变量
  • set 设置某个变量的值 var变量名 value变量值
  • url url格式化的标签 value 自动添加上项目名 里面如果加param标签那么就可以传递参数 name/value
  • remove 删除域变量 var变量名 scope域范围,不写的话删除全域的对象中的此值
  • if if语句 test 判断的条件 ${not empty key} 如果key不是空
  • forEach
    • 计数方式 var循环变量 begin循环变量从几开始 end到几结束 step设置步长
    • 用来遍历 items需要迭代的变量 var每一次迭代的变量
  • choose/when 多分支

<c:choose> <c:when test></c:when> <c:when test></c:when> <c:when test></c:when> <c:when test></c:when> </c:choose>

 

if if语句 test 判断的条件 ${not empty key} 如果key不是空

 

 

<div>

<!-- 获取 num 值 , 判断并显示 内容 -->

 

<c:if test="${num%2==0}">

<font color="green"> 韭菜 </font>
</c:if>

 

<c:if test="${num%2!=0}">

<font color="red"> 苹果 </font>
</c:if>

</div>

普通for循环:计数方式 var循环变量 begin循环变量从几开始 end到几结束 step设置步长

<div>

<!-- 遍历 num 值 -->
<c:forEach var="i" begin="0" end="${num}" step="1" >
${i} <br>
</c:forEach>

 </div>

增强for:用来遍历 items需要迭代的变量 var每一次迭代的变量

 

<div>

<!-- 遍历 集合 值 <String> -->
<c:forEach var="s" items="${l}" >
${s} <br>
</c:forEach>

 

 

 

<%--<!-- 遍历 集合 值 <User> -->--%>

<%--<c:forEach var="u" items="${l2}" >--%>
<%--${u.name} <br>--%>
<%--</c:forEach>--%>

 

<hr />

 

<!-- 遍历 集合 值 <User> ,加入 序号 -->
<c:forEach var="u" items="${l2}" varStatus="vs" >
${vs.count} -- ${u.name} <br>
</c:forEach>
</div>

 

 

2.formate标签库
  • formateDate value需要格式化的变量 pattern yyyy-MM-dd HH:mm:ss
  • formateNumber value变量 pattern 0.00 需要小数点两位 四舍五入

转载于:https://www.cnblogs.com/hujunwei/p/10951712.html

你可能感兴趣的文章
SQL Server 重置Identity标识列的值(INT爆了)
查看>>
需求获取常见的方法是进行客户访谈,结合你的实践谈谈会遇到什么问题,你是怎么解决的?...
查看>>
【校招面试 之 C/C++】第33题 C++ 11新特性(四)之STL容器
查看>>
Java替代C语言的可能性
查看>>
Mysql-2-数据库基础
查看>>
python把源代码打包成.exe文件
查看>>
PhotoshopCS5中将单位修改成百分比
查看>>
传统认知PK网络认知 刚子扯谈烤串认知
查看>>
字节数组java加密与解密
查看>>
矩形运算
查看>>
php 备份mysql数据库(joomla数据库可直接使用,其他数据库稍作修改即可)
查看>>
Design Pattern --- Strategy
查看>>
mui列表跳转到详情页优化方案
查看>>
一些简单有用的方法合集
查看>>
Neutron 架构 - 每天5分钟玩转 OpenStack(67)
查看>>
详解JS设计模式
查看>>
CPSR寄存器
查看>>
Java基础50题test7—处理字符串
查看>>
保险行业电话外呼型呼叫中心方案
查看>>
自建型呼叫中心
查看>>