el表达式和jstl标签

el表达式和jstl标签

el表达式主要作用:代替JSP页面中的<%= %>标签的使用
jstl主要针对的方向是JSP页面之中的if、switch、for循环等语句的使用

一、 el表达式讲解:

代替什么?

el表达式主要代替JSP中的“<%= %>”,代替的是jsp中的java代码的传值。

el表达式只能接受web域中的值【默认从最小域开始查找并接收传值】。

4个web域是什么,以及获取传值方式 ?

1、pageContext.Attribute(" “,” "); ${pageScope.name}

2、request.Attribute(" “,” "); ${requestScope.name}

3、session.Attribute(" “,” "); ${sessionScope.name}

4、application.Attribute(" “,” "); ${applicationScope.name}

二、以el表达式引出jstl标签

前期准备:

JSTL标签:解决JSP页面中写java代码问题

引包:jstl-1.2.jar 和 standard-1.1.1.jar

测试代码:

1、JSP中引入jstl标签,采用方式,定义并且引用,代码如下:

<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>//别名取c

2、新建servlet,定义测试变量以及请求转发,代码如下:

List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
  Map<String ,Object> map = new HashMap<String, Object>();
  map.put("name", "孙悟空");
  map.put("sex", "男生");
  map.put("hobby", "棍");
  list.add(map);
  map = new HashMap<String, Object>();
  map.put("name", "猪八戒");
  map.put("sex", "男生");
  map.put("hobby", "铁爬");
  list.add(map);
  map = new HashMap<String, Object>();
  map.put("name", "沙和尚");
  map.put("sex", "男生");
  map.put("hobby", "杖");
  list.add(map);

  request.setAttribute("list", list);
  request.getRequestDispatcher("table.jsp").forward(request, response);

3、jsp页面中利用jstl标签遍历list中的name 和sex还有hobby,代码如下:

<table border="1px" width="50%" bordercolor="pink" bgcolor="#776567">
  <tr>
   <td>姓名</td>
   <td>性别</td>
   <td>武器</td>
  </tr>
  <%-- <c:forEach items="要遍历的集合" var="给遍历出的数据起的别名"> --%>
  <c:forEach items="${list }" var="map">
   <tr>
    <td>${map.name}</td>
    <td>${map.sex}</td>
    <td>${map.hobby}</td>
   </tr>
  </c:forEach>
 </table>

测试结果:

ps:测试时应运行servlet跳转到jsp

在这里插入图片描述

Jstl标签【<c:forEach></c:forEach>】其他属性:

1、varStatus=“vs”属性

${vs.index} 项数 int【0开始】

${vs.count} 个数 int【1开始】

${vs.first} 是否是第一个 Boolean

${vs.last} 是否是最后一个 Boolean

2、begin=“ ”, end=" "属性

代表输出的开始和结束,代表索引,从第0项开始

Jstl标签的其他用法:

1、标签<c:if></c:if>的使用,代码如下:
<c:if test="${name eq '悟空'}" var="flag">
	齐天大圣
</c:if>
<c:if test="${!flag}">
	一只猴子
</c:if>	

上述为一个简单的if判断语句的jstl标签的写法:

如果name=悟空,则输出齐天大圣,否则输出一只猴子

ps:Jstl中的<c:if></c:if>标签没有else语句,使用方法是利用<c:if></c:if>标签判断flag

2、<c:choose></c:choose>标签的使用,代码如下:
<c:choose>
	<c:when test="${name eq '悟空'}">
		 齐天大圣
	</c:when>
	<c:when test="${name eq '八戒'}">
		天蓬元帅
	</c:when>
<c:choose>

上述为<c:choose></c:choose>标签的简单使用,选择标签,类似于switch的使用。






  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值