Jsp-Web:jstl,jstl和el配合使用,if,foreach

jstl

Jstl : JSP Standard Tag Library : JSP标准标签库

JSTL标签库的使用主要是为弥补html标签的不足和jsp页面处理逻辑的缺陷

在使用jstl之前需要将jsp的包导入,然后引入标签库

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

在这里插入图片描述

1:jstl 标签库分类

core 核心标签库 (使用的最多)

fmt 完成国际化的 (很少使用)

functions jstl中的函数库 (基本不用)

sql 主要是在jsp页面上操作数据库 (基本不用)

xml 操作xml文件的(基本不用)

2:使用说明

JSTL的核心标签库标签共14个,使用这些标签能够完成JSP页面的基本功能,减少编码工作。

Jstl 的标签一般都会和EL表达式一起使用

c:out value=”” 输出语句 有个default 属性,如果value为空,则输出默认

c:set var=“” value=“” scope=“” 给域对象设置值,scope可以省略,默认在本页有效

c:remove var=“” scope=“” 删除域对象中的某个值,scope可以省略

c:catch 捕获异常,不会使用

c:forTokens items=“” delims=“” 使用指定的分隔符切割字符串

c:import url=“” 在当前页面上引入其他的页面内容 类似于 前面学习的jsp:include,注意不是导入

c:redirect 重定向

c:url 在页面上可以显示超链接等信息,完成页面的跳转

c:choose标签,c:when标签,c:otherwise标签,类似于switch

用的比较多的是:c:if标签,c:forEach标签

一般和el一起使用

<%@ page import="com.sky.pojo.User" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.HashMap" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  <%
    //  el取对象的值
    User user = new User(1001,"李白","男",50);
    request.setAttribute("user",user);
  %>
  ${user.id}---${user.name}---${user.sex}---${user.age}<br>

  <%
    //  el取集合中对象的值
    User user1 = new User(1001,"李白","男",50);
    User user2 = new User(1002,"杜甫","男",40);
    User user3 = new User(1003,"郭嘉","男",30);
    List<User> users = new ArrayList<User>();
    users.add(user1);
    users.add(user2);
    users.add(user3);
    request.setAttribute("users",users);
  %>
<%--  通过数组的下标取值--%>
  ${users[0].id}---${users[0].name}---${users[0].sex}---${users[0].age}<br>
  ${users[1].id}---${users[1].name}---${users[1].sex}---${users[1].age}<br>
  ${users[2].id}---${users[2].name}---${users[2].sex}---${users[2].age}<br>
<%--  通过集合的get取值--%>
  ${users.get(0).id}---${users.get(0).name}---${users.get(0).sex}---${users.get(0).age}<br>
  ${users.get(1).id}---${users.get(1).name}---${users.get(1).sex}---${users.get(1).age}<br>
  ${users.get(2).id}---${users.get(2).name}---${users.get(2).sex}---${users.get(2).age}<br>

  <%
    //  el取list集合中HashMap对象的值
    HashMap map1 = new HashMap();
    map1.put("name","苏轼");
    map1.put("sex","男");
    map1.put("age",30);
    HashMap map2 = new HashMap();
    map2.put("name","苏洵");
    map2.put("sex","男");
    map2.put("age",58);
    HashMap map3 = new HashMap();
    map3.put("name","苏辙");
    map3.put("sex","男");
    map3.put("age",29);
    List<HashMap> list = new ArrayList<HashMap>();
    list.add(map1);
    list.add(map2);
    list.add(map3);
    request.setAttribute("lists",list);
  %>
  ${lists[0].get("name")}---${lists[0].get("sex")}---${lists[0].get("age")}<br>
  ${lists[1].get("name")}---${lists[1].get("sex")}---${lists[1].get("age")}<br>
  ${lists[2].get("name")}---${lists[2].get("sex")}---${lists[2].get("age")}<br>

  <c:if test="${not empty lists}">再见</c:if><br>
  <c:forEach var="out" items="${lists}">
    ${out.get("name")}---${out.get("sex")}---${out.get("age")}<br>
  </c:forEach>

  <table cellpadding="0px" cellspacing="0px" border="1px" align="center" width="200px">
    <tr>
      <th>姓名</th>
      <th>性别</th>
      <th>年龄</th>
    </tr>
    <tr>
      <c:forEach var="lie" items="${users}">
        <tr align="center">
          <td>${lie.name}</td>
          <td>${lie.sex}</td>
          <td>${lie.age}</td>
        </tr>
      </c:forEach>
    </tr>
  </table>
  </body>
</html>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值