admin管理员组文章数量:1794759
JSTL
JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。
JSTL标签是基于JSP页面的,这些标签可以插入在JSP代码中,这些标签封装了不同的功能,在页面上调用标签时,就等于调用了封装起来的功能。
核心标签core:
<%@ taglib prefix="c" uri="" %>
prefix="c":指定标签库的前缀,这个前缀可以随便给值。
uri="":指定标签库的uri,它不一定是真实存在的网址,但它可以让JSP找到标签库的描述文件;
1.<c:set>标签用于设置变量值和对象属性。
<c:setvar="<string>" //存储信息的变量value="<string>" //要存储的值target="<string>" //要修改的属性所属的对象property="<string>" //要修改的属性scope="<string>"/> //var作用域
2.<c:if>标签判断表达式的值,如果表达式的值为 true 则执行其主体内容。
<c:if test="<boolean>" var="<string>" scope="<string>">... //test是条件,var是存储条件结果的变量,scope是var作用域
</c:if>
3.<c:forEach>标签它迭代一个集合中的对象。
<c:forEachitems="<object>" //要循环的信息begin="<int>" //开始元素 0是第一个end="<int>" //最后一个元素step="<int>" //每一次迭代的步长var="<string>" //代表当前条目的变量名称varStatus="<string>"> //代表循环状态的变量名称...
例如:<forEach varStatus=”vs” …/>,这时就可以使用vs这个变量来获取循环的状态了。
count:int类型,当前已遍历元素的个数;
index:int类型,当前元素的下标;
first:boolean类型,是否为第一个元素;
last:boolean类型,是否为最后一个元素;
current:Object类型,表示当前项目。
<c:forEach var="item" items="${ns}" varStatus="vs"><c:if test="${vs.first }">第一行:</c:if><c:if test="${vs.last }">最后一行:</c:if><c:out value="第${vs.count }行: "/><c:out value="[${vs.index }]: "/><c:out value="name: ${vs.current }"/><br/>
</c:forEach>
4.<c:forTokens>标签通过指定分隔符将字符串分隔为一个数组然后迭代它们。
<c:forTokensitems="<string>"delims="<string>" //分隔符begin="<int>"end="<int>"step="<int>"var="<string>"varStatus="<string>">
格式化标签
JSTL格式化标签用来格式化并输出文本、日期、时间、数字。
引用格式化标签库的语法如下:
<%@ taglib prefix="fmt" uri="" %>
1.<fmt:formatNumber>标签用于格式化数字,百分比,货币。
<fmt:formatNumbervalue="<string>" //要显示的数字type="<string>" //类型pattern="<string>" //格式currencyCode="<string>" currencySymbol="<string>"groupingUsed="<string>"maxIntegerDigits="<string>"minIntegerDigits="<string>"maxFractionDigits="<string>"minFractionDigits="<string>"var="<string>"scope="<string>"/>
2.<fmt:formatDate>标签用于使用不同的方式格式化日期。
<fmt:formatDatevalue="<string>"type="<string>"dateStyle="<string>"timeStyle="<string>"pattern="<string>"timeZone="<string>"var="<string>"scope="<string>"/>
测试:
<%@page import="cn.gakki.entity.Student"%>
<%@page import="java.sql.Date"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri=""%>
<%@taglib prefix="fmt" uri="" %><%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><title>My JSP 'jstlel.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><%//1.准备数据 int n=70;//基本类型double avgScore = 57.45678;//基本类型//Student stu = null;Student stu = new Student();//引用类型stu.setSno(1);stu.setSname("张晓红");stu.setBirth(Date.valueOf("1999-12-12"));String [] strs = {"Java","Oracle","JSP","HTML"};//数组String courses="Java,Oracle,JSP,HTML,Servlet";//特殊的字符串String courses2="Java#Oracle#JSP#HTML#Servlet";//特殊的字符串String str = null;String str3 = "";List list = new ArrayList();//分配空间,没有元素list.add(90);list.add(80);List list2 =null;//没有分配空间List list3 =new ArrayList();//分配空间,没有元素 size()==0Map<String,String> map = new HashMap<String,String>();//Mapmap.put("cn", "China");map.put("fr", "France");//setAttributerequest.setAttribute("r1",n);request.setAttribute("avgScore",avgScore);request.setAttribute("stu",stu);request.setAttribute("strs",strs);request.setAttribute("courses",courses); request.setAttribute("courses2",courses2); request.setAttribute("now",new java.util.Date()); request.setAttribute("list", list);request.setAttribute("list2", list2); request.setAttribute("list3", list3); request.setAttribute("map", map); request.setAttribute("str", str);request.setAttribute("str3", str3);//2.使用JSTL和EL输出 %>n:${r1}<br>n:${requestScope.r1}<br>avgScore:${avgScore}<br>avgScore:<fmt:formatNumber value="${avgScore}" maxFractionDigits="2"></fmt:formatNumber><br>姓名:${stu.sname}<br>日期:<fmt:formatDate value="${stu.birth}" pattern="yyyy年MM月dd日"></fmt:formatDate><br><c:forEach items="${strs}" var="us">${us}--></c:forEach><br><c:forEach items="${courses}" var="us">${us}--</c:forEach><br><c:forTokens items="${courses2}" delims="#" var="us">${us}<----></c:forTokens><br><c:forEach items="${list}" var="li">${li}-</c:forEach><br><c:forEach items="${map}" var="m">${m.key}-->${m.value}<br></c:forEach><br>每一页显示:<select><c:forEach begin="5" end="25" step="5" var="size"><option>${size}</option></c:forEach></select>条<br>${empty list2}<br>${not empty list3}</body>
</html>
本文标签: JSTL
版权声明:本文标题:JSTL 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1695222474a297082.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论