1 <%@page import="cn.woo.entity.Person"%> 2 <%@page import="java.util.List"%> 3 <%@page import="java.util.ArrayList"%> 4 <%@ page language="java" contentType="text/html; charset=UTF-8" 5 pageEncoding="UTF-8"%> 6 <!-- 7 使用@taglib 指令引入标签库 8 uri:为标签库的地址【此处使用的是jsp的标准标签库,里面标签还有很多此处不一一演示】 9 prefix:自定义的标签前缀,使用的时候需要写该前缀 10 --> 11 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 12 13 <!-- 14 ======================================================================================== 15 其他jstl有关的标签库和函数库,可自行查询每个库中标签的使用方式【也可以借助Eclipse中的提示功能查看各个库中的标签以及标签的属性】 16 ======================================================================================== 17 --> 18 <!-- jstl的fmt格式化标签库 --> 19 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> 20 <!-- jstl的fn方法库:包含了向字符串截取等方法 --> 21 <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> 22 <!-- jstl关于sql方面的标签库:包含了操作sql的标签--> 23 <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%> 24 <!-- jstl关于xml方面的标签库:包含了操作xml的标签--> 25 <%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="xml"%> 26 27 <!-- ======================================================================================= --> 28 <% 29 // 创建Person集合 30 List<Person> persons = new ArrayList<Person>(); 31 Person p1 = new Person("23","wpp"); 32 Person p2 = new Person("24","waa"); 33 persons.add(p1); 34 persons.add(p2); 35 // 要将数据放置在域中才能使用EL表达式获取展示,之前使用<jsp:use>行为创建的对象默认存放在page域对象中 36 request.setAttribute("personList", persons); 37 38 //后面演示set标签操作对象的时候使用 39 pageContext.setAttribute("p1", p1); 40 %> 41 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 42 <html> 43 <head> 44 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 45 <title>演示JSTL常用标签的使用</title> 46 </head> 47 <body> 48 <!-- out输出标签 49 default:[${ param.action }没有获取到数值的时候显示默认值] 50 escapeXml:对一些特殊字符进行编码如:‘>‘ ‘<‘ ‘&‘ 51 --> 52 <c:out value="${ param.action }" default="没有action参数" escapeXml="true"></c:out> 53 <c:out value="${ ‘<>‘ }" default="默认数值" escapeXml="true"></c:out> 54 55 <!-- if标签 56 条件写在test属性中,字符串的比较直接使用==进行比较 57 --> 58 <c:if test="${ param.action == ‘login‘ }"> 59 <div>登陆面板</div> 60 </c:if> 61 <c:if test="${ param.action == homepage}"> 62 <div>主页面</div> 63 </c:if> 64 65 <!-- 利用choose、when、otherwise 标签实现if else功能--> 66 <c:choose> 67 <c:when test="${ param.action == ‘login‘}"> 68 <div>登陆面板</div> 69 </c:when> 70 <c:otherwise> 71 <div>非登陆面板</div> 72 </c:otherwise> 73 </c:choose> 74 75 <!-- 利用forEach标签 输出1~100之间的所有偶数 76 begin:起始位置 77 end:结束位置 78 step:遍历过程中每一次跳过的步数 79 var:设置当前遍历项的名称 80 items:被遍历的集合数据 如:${persons} ===>人员信息集合 81 varStatus:保存当前被遍历对象的信息【如:当前被遍历元素的索引等】 82 --> 83 <%-- <c:forEach begin="2" end="100" step="2" var="number" varStatus=""> 84 <p>${ number }</p> 85 </c:forEach> --%> 86 <!-- 遍历Persons集合 --> 87 <c:forEach items="${ personList }" var="person" varStatus="objStatus"> 88 <p>名称:${ person.name } 序号:${ objStatus.index }</p> 89 </c:forEach> 90 91 <!-- forTokens标签 92 和forEach标签的使用方式一样,都有items var varStatus begin end step 等属性 93 不同的是forEach标签的items中放置的是集合或者对象,而forTokens标签的items属性中放置的是字符串 94 它会将该字符串按照delims的值进行分割展示 95 --> 96 <c:forTokens items="aaa,bbb,ccc,ddd,eee" delims="," var="str"> 97 <p>数值:${ str }</p> 98 </c:forTokens> 99 100 <!-- set标签 101 可以创建/修改 变量或者对象中的属性【前提条件是对象的属性拥有set方法】 102 scope:操作的变量放置的域/新创建的变量要放置的域 【page、request、session、application】 103 value:要设置的数值 104 var:【只能操作:Integer\Double\Float\String】类型不能操作javaBean和Map 105 property:被操作的对象的属性名称/或者map中的一个key 106 target:对象名称/或者map集合名称 【property和target常用来操作javaBean和Map============>只能用来操作已经存在的对象,不能创建对象】 107 --> 108 <!-- set创建变量,存放网站总访问次数,和当前客户端的访问次数 --> 109 <c:set scope="application" value="${ totalCount+1 }" var="totalCount"> </c:set> 110 <c:set scope="session" value="${ count+1 }" var="count"></c:set> 111 本站总访问人数:${ totalCount }<br> 112 您的访问次数为:${ count }<br> 113 <!-- set操作javaBean --> 114 <c:set value="更改后的名称" target="${ p1 }" property="name"></c:set> 115 <c:out value="${ p1.name }"></c:out> 116 </body> 117 </html>
原文地址:https://www.cnblogs.com/wooyoohoo/p/9523549.html
时间: 2024-11-09 15:02:04