zoukankan      html  css  js  c++  java
  • 【JSTL】JSTL标签库的常用标签

    一、JSTL技术

    1.JSTL概述

    JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能。jstl出现的目的同el一样也是要提到jsp页面中的脚本代码。JSTL标准标准标签库有5个子库,但随着发展,目前常使用的是他的核心库

    标签库

    标签库的URI

    前缀

    Core

    http://java.sun.com/jsp/jstl/core

    c

     

    2.JSTL下载与导入

    从Apache的网站下载JSTL的JAR包。进入“http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/”网址下载  JSTL的安装包。jakarta-taglibs-standard-1.1.2.zip,然后将下载好的JSTL安装包      进行解压,此时,在lib目录下可以看到两个JAR文件,分别为jstl.jar和standard.jar。

    其中,jstl.jar文件包含JSTL规范中定义的接口和相关类,standard.jar文件包含用于 实现JSTL的.class文件以及JSTL中5个标签库描述符文件(TLD)

    将两个jar包导入工程的lib中

     

    2.JSTL核心库的常用标签

    1)<c:if test=" ">标签,其中test是返回boolean的条件

    *引入标签库:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
     4 <!DOCTYPE html>
     5 <html>
     6 <head>
     7 <meta charset="UTF-8">
     8 <title>Insert title here</title>
     9 </head>
    10 <body>
    11 <%
    12 request.setAttribute("count",11);
    13 %>
    14 
    15     <!-- test代表的返回 -->
    16     <c:if test="${count==10}">
    17 xxx
    18 </c:if>
    19     <c:if test="count!=10">
    20 yyyy
    21 </c:if>
    22 
    23 
    24 </body>
    25 </html>

    用法:

    将当前用户放到session域,在访问其他资源时,可以从session域中方便取到用户,看是不是登陆了

    (当没登录时首页显示 登录注册,登录后显示用户名和退出)

    2)<c:forEach>标签

    使用方式有两种

     1.

     

    2.

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <%@ page import="domain.*"%>
     4 <%@ page import="java.util.*"%>
     5 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
     6 
     7 <!DOCTYPE html>
     8 <html>
     9 <head>
    10 <meta charset="UTF-8">
    11 <title>Insert title here</title>
    12 </head>
    13 <body>
    14     <%
    15         //遍历List<String> strList
    16         List<String> strList = new ArrayList<String>();
    17         strList.add("itcast");
    18         strList.add("itheima");
    19         strList.add("ithe");
    20         request.setAttribute("strList", strList);
    21 
    22         //遍历List<User>的值
    23         List<User> userList = new ArrayList<User>();
    24         User user2 = new User();
    25         user2.setId("2");
    26         user2.setName("lisi");
    27         user2.setPassword("123");
    28         userList.add(user2);
    29         User user3 = new User();
    30         user3.setId("3");
    31         user3.setName("wangwu");
    32         user3.setPassword("123");
    33         userList.add(user3);
    34         application.setAttribute("userList", userList);
    35 
    36         //遍历Map<String,String>的值
    37         Map<String, String> strMap = new HashMap<String, String>();
    38         strMap.put("name", "lucy");
    39         strMap.put("age", "18");
    40         strMap.put("addr", "西三");
    41         strMap.put("email", "licy@111.com");
    42         session.setAttribute("strMap", strMap);
    43 
    44         //遍历Map<String,User>的值
    45         Map<String, User> userMap = new HashMap<String, User>();
    46         userMap.put("user2", user2);
    47         userMap.put("user3", user3);
    48         request.setAttribute("userMap", userMap);
    49     %>
    50 
    51     <!-- List<String> strList -->
    52     <c:forEach items="${strList }" var="str">
    53     ${str }
    54     </c:forEach>
    55     <br />
    56     <br />
    57 
    58     <!--     List<User> -->
    59     <c:forEach items="${userList }" var="user">
    60     ${user.name} : ${user.password }
    61     <br />
    62     </c:forEach>
    63     <br />
    64     <br />
    65 
    66     <!-- Map<String,String> -->
    67     <c:forEach items="${strMap }" var="entry">
    68     ${entry.key } : ${entry.value } 
    69     <br />
    70     </c:forEach>
    71     <br />
    72     <br />
    73 
    74     <!-- Map<String,User> -->
    75     <!-- entry.key对应 String;entry.value对应User-->
    76     <c:forEach items="${userMap }" var="entry">
    77      ${entry.key }: ${entry.value.name }-- ${entry.value.password}
    78     </c:forEach>
    79 
    80 </body>
    81 </html>

    结果:

     

     

  • 相关阅读:
    SharePoint部署webpart时候,报错:部署步骤“回收 IIS 应用程序池”中出现错误: 无效命名空间 解决方案
    免费的分布式的自动化测试工具
    https://github.com/dotnetcore
    SharePoint2013与SharePoint2016语言切换原理以及如何使用代码进行语言切换
    微软开源最强Python自动化神器Playwright!不用写一行代码!
    B站播单按时间统计进度
    AF_INET与PF_INET的区别
    git显示:fatal: index file smaller than expected
    Unix系统中信号SIGKILL和SIGSTOP
    GTM、UTC和C/C++中的时间处理
  • 原文地址:https://www.cnblogs.com/musecho/p/11284181.html
Copyright © 2011-2022 走看看