el表达式怎么使用?_JSTL技术使用详解
发布日期:2021-06-24 13:28:01 浏览次数:2 分类:技术文章

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

934dbb2c22e7cfe7b2610814f521310c.png

在jsp页面使用其可以非常方便的进行数据的处理。较与使用java代码块方法,更加的简单,代码更加的简洁易读。

使用

核心标签库

流程:

导入jar包

jstl-1.2.jar

引入标签库

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

基本标签:

out标签:

<c:out value="${表达式}" default="默认值"></c:out>

作用:结合EL表达式将数据响应给浏览器,如果EL表达式没有取到数据则可以使用default属性声明默认值。

set标签

<c:set value="数据" var="键名" scope="作用域名"></c:set>

作用:将数据存储到指定的作用域中,默认是pageContext作用域

注意:

scope的值为:page request session application

remove标签:

<c:remove var="要删除数据的键名" scope="作用域名"/>

作用:删除作用域中的数据,默认是删除四个作用域中的符合要求的数据。

但是可以通过scope属性指明要删除的作用域数据。

注意:

使用pageContext.removeAttriute("键名"), 此方法会将四个作用域中的符合要求的数据全部删除

使用pageContext.removeAttriute(String name,int scope)

指明要删除的作用域中的数据 scope的值为 1pageContext,2request ,3 session,4 application

使用request.removeAttibute("键名") 删除当前作用域符合要求的数据

使用session.removeAttibute("键名") 删除当前作用域符合要求的数据

使用application.removeAttibute("键名") 删除当前作用域符合要求的数据

逻辑标签:

单分支判断if标签:

<c:if test="${表达式}">数据</c:if>

作用:可以根据el表达式进行一定程度的单分支逻辑判断。

注意:

test属性中书写的是EL表达式,或者说是EL表达式的逻辑表达式。

该标签只能进行EL表达式相关的逻辑判断。不能进行EL表达式不能获取的数据的逻辑处理

多分支判断标签:

<c:choose>

<c:when test="${表达式}"></c:when>

<c:when test="${表达式}"></c:when>

<c:otherwise></c:otherwise>

</c:choose>

注意:

符合条件后只会执行一个分支,其他分支不会执行。

循环标签:

<c:foreach>

循环体

</c:foreach>

属性:

begin:声明循环的开始位置

end:声明循环的结束位置

step:声明循环的步长

varStatus:声明变量记录循环状态 ,例如变量名:i

注意:记录的数据存储到了作用域中可以直接使用El表达式进行获取

示例: ${i.index} 获取当次循环的下标

${i.count} 获取当次循环的次数

${i.first} 判断是否是第一次循环

${i.last} 判断是否是最后一次循环

items:声明要遍历的数据,可以是集合和数组等

注意:要使用EL表达式来获取

var:声明变量记录每次遍历的结果。可以做循环体中使用使用EL表达式获取遍历出来的数据

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@taglib prefix="c" uri="Oracle Technology Network for Java Developers" %>

<% request.setAttribute("str","jstl学习"); %>
<%=request.getAttribute("str") %>--${str}--
<% request.setAttribute("s1","set标签学习"); %>
${s1}--${requestScope.s2}
<%-- <% pageContext.removeAttribute("hello",4); //request.removeAttribute("hello"); //session.removeAttribute("hello"); %> --%>
${hello}
<% int b=4; int a=Integer.parseInt((String)pageContext.getAttribute("a")); if(a>8){%> 今天天气真好,适合学习1<%} %>
今天天气真好,适合学习2
奖励苹果电脑一台
奖励苹果手机一部
无奖励无惩罚
男女混合双打
我是第三次循环
11111--${i.index}--${i.count}--${i.first}--${i.last}
<% //创建测试数据list ArrayList
list=new ArrayList
(); list.add("苹果"); list.add("榴莲"); list.add("荔枝"); //将list存储到作用域中 request.setAttribute("list",list); %>
${s}--${i.index}--${i.count}
<% //声明Map集合测试数据 HashMap
hs=new HashMap
(); hs.put("s1","唱歌"); hs.put("s2", "跳舞"); hs.put("s3", "敲代码"); //将数据存储到作用域中 request.setAttribute("hs", hs);%>
${s.key}--${s.value}

转载地址:https://blog.csdn.net/weixin_33178459/article/details/113069853 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:excel导入mysql命令行_使用命令行将Excel数据表导入Mysql中的方法小结
下一篇:boolean mybatis_sql,mybatis中Boolean类型 False无效问题

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月03日 21时28分41秒