JSP 标准标签库JSTL
JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。
JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。
在使用JSTL的同时,我想过一个问题,为什么JSTL能实现的功能,Java也能做,可能对于开发人员来说,更熟悉java语言。
经查阅资料,有人说是因为避免在Jsp语言中html和java语言混乱,导致开发效率低,页面不易维护,可读性差。一般来说,应该尽可能避免在jsp页面中嵌入Java代码,而是使用JSTL和EL表达式来实现同样的功能。
核心标签
核心标签是最常用的JSTL标签。引用核心标签库的语法如下:
- <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
应用:数组、对象、LIst、Map和Date
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <%@ page import="com.uplooking.controller.Student" %>
- <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
- <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
- <%@ page import="java.util.*" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>JSTL</title>
- </head>
- <body>
- <%
- Student stu=new Student();
- stu.setName("老王");
- stu.setClazz(1);
- pageContext.setAttribute("stu",stu);
- Student stu1=new Student();
- stu1.setName("老李");
- stu1.setClazz(2);
- pageContext.setAttribute("stu1",stu1);
- Student stu2=new Student();
- stu2.setName("老师");
- stu2.setClazz(3);
- pageContext.setAttribute("stu2",stu2);
- %>
- <!-- jstl -->
- <!-- 判断后台传过来的数据是否为空 与if一样 -->
- <c:if test="${stu1!=null }">
- <h4>登陆成功${stu1.name}</h4>
- </c:if>
- <c:if test="${stu3==null }">
- <h4>登录失败,请返回<a href="index.jsp">首页</a></h4>
- </c:if>
- <hr><!--------------------------------List----------------------------------------!>
- <%
- List<Student> stus=new ArrayList();
- stus.add(stu);
- stus.add(stu1);
- stus.add(stu2);
- pageContext.setAttribute("stus", stus);
- %>
- <!-- items遍历需要的集合或者数组 var相当于一个临时变量-->
- <c:forEach items="${stus}" var="stu">
- ${stu.name}
- <c:choose>
- <c:when test="${stu.clazz==1 }">
- 终极一班 <br>
- </c:when>
- <c:when test="${stu1.clazz==2 }">
- 牛x二班 <br>
- </c:when>
- <c:when test="${stu2.clazz==3 }">
- 活力三班 <br>
- </c:when>
- <c:otherwise>
- 厉害 <br>
- </c:otherwise>
- </c:choose>
- </c:forEach>
- <hr>
- <!-- map的循环遍历 -->
- <%
- Map<String,Student> map=new HashMap();
- map.put("10",stu);
- map.put("20",stu1);
- map.put("30",stu2);
- pageContext.setAttribute("map", map);
- %>
- <!--begin代表从第几个元素开始(从0开始) varStatus自动排序(与分页有关)-->
- <c:forEach items="${map}" var="stu" begin="1" varStatus="vars">
- ${vars.count} --- ${stu.key} --- ${stu.value.name} <br>
- </c:forEach>
- <hr>
- <!-- set标签用于设置变量值和对象属性。 -->
- <c:set var="age" value="66"></c:set>
- <c:if test="${age==66 }">
- 老年人
- </c:if>
- ${age}
- <!-- remove标签移除变量age -->
- <c:remove var="age"/>
- ${age}
- <!-- date时间转换 -->
- <%pageContext.setAttribute("date",new Date()); %>
- <fmt:formatDate value="${date}" pattern="yyyy-MM-dd HH:mm:ss"/><br>
- <%pageContext.setAttribute("stringDate","2018-09-17 13:04:18"); %>
- <fmt:parseDate value="${stringDate}" pattern="yyyy-MM-dd HH:mm:ss"/><br>
- <!-- 百分 比转换 -->
- <fmt:formatNumber type="percent" value="0.88"></fmt:formatNumber>
- </body>
- </html>
执行结果:
JSP 标准标签库JSTL的更多相关文章
- JSP 标准标签库(JSTL)
JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...
- JSP标准标签库(JSTL)--JSTL简介与安装
对于MVC设计模式来讲,我们一直强调,在一个JSP钟scriptlet代码越少越好,但是只靠以前的概念很难实现,因为标签的开发特别麻烦,所以为了简化标签,也为了让标签更具备一些通用性,所以一般在开发中 ...
- JSP标准标签库JSTL
1.什么是JSTL? JSP标准标签库(JSP Standard Tag Library) 2.JSTL标准标签库中的常用标签 JSTL是JSP页面的标签库,实质上是一段Java代码.我们常用的是它的 ...
- jsp标准标签库——jstl
JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. 除了这些,它还提供 ...
- JSP标准标签库(JSTL)--XML标签库 x
³在开发中XML解析的操作是非常烦琐的,幸运的是在JSTL中专门提供了用于XML解析的操作,这样用户就可以不用费力的去研究SAX或DOM等操作的使用,就可以轻松的进行XML文件的解析处理. XML标 ...
- JSP标准标签库(JSTL)--SQL标签库 sql
了解即可.SQL标签库 No. 功能分类 标签名称 描述 1 数据源标签 <sql:setDataSource> 设置要使用的数据源名称 2 数据库操作标签 <sql:query&g ...
- JSP标准标签库(JSTL)--核心标签库 c
核心标签库是JSTL中最重要的部分,可以完成输出,判断,迭代等操作 功能分类: 1. 基本标签: <c:out>:输出属性内容 <c:set>:设置属性内容 <c:rem ...
- JSP标准标签库(JSTL)--国际化标签库 fmt
JSTL中使用fmt.tld作为格式化标签库的定义文件 No. 功能分类 标签名称 描述 1 国际化标签 <fmt:setLocale> 设置一个全局的地区代码 2 <fmt:req ...
- JSP标准标签库(JSTL)--函数标签库 fn
和String的方法类似,就是对String的一种封装. No. 函数标签名称 描述 1 ${fn:contains()} 查询某字符串是否存在,区分大小写 2 ${fn:containsIgnore ...
随机推荐
- GO : 斐波纳契数列
package main import "fmt" // fibonacci is a function that returns // a function that retur ...
- 20175208 张家华 MyOD
一.实现目的: 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 二.功能简介 1.Linux下的od功能是将指定文件内容以八进制.十进制.十六进 ...
- Java EE开发技术课程第五周(Applet程序组件与AJAX技术)
1.Applet程序组件 1.1.定义: Applet是采用Java编程语言编写的小应用程序,该程序可以包含在HTML(标准通用标记语言的一个应用)页中,与在页中包含图像的方式大致相同.含有Apple ...
- Spring restful
1. RESTful 不是一项技术,也不是一个标准,而是一种风格,跟servlet不在一个层面上,根本无法比较.一个基于servlet的application也是可以是符合RESTful风格的,换言之 ...
- spider爬虫练习
package com.jinzhi.spider; import java.io.BufferedReader;import java.io.IOException;import java.io.I ...
- day09内存管理
复习 ''' 文件处理 1.操作文件的三步骤 -- 打开文件:硬盘的空间被操作系统持有 | 文件对象被应用程序持续 -- 操作文件:读写操作 -- 释放文件:释放操作系统对硬盘空间的持有 2.基础的读 ...
- Oracle错误——ORA-39000:转储文件说明错误、ORA-39001:参数值无效、ORA-39088:文件名不能包含路径说明
错误 在使用数据泵导入文件时,报错如下 Next 出错原因 在使用参数DUMPFILE指定文件名称时,不能包含路径信息,只可以使用文件名称 Next 解决办法 在使用数据泵进行数据导入导出前,必须要创 ...
- Python3 tkinter基础 Spinbox 可输入 能调整的 从指定范围内选择参数的控件
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- [ZOJ 4016] Mergable Stack
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4016 直接用栈爆内存,看网上大神用数组实现的,构思巧妙,学习了! ...
- vscode下运行matlab记录
Linux下安装MATLAB可参照以下链接: https://blog.csdn.net/qq_31285709/article/details/82083902 在vscode 中运行.m文件. 首 ...