jsp常用的标准标签
概念
JSP标准标签库(JSP Standard Tag Library)是Java EE网络应用程序开发平台的组成部分。它在JSP规范的基础上,扩充了一个JSP的标签库来完成一些通用任务,比如XML数据处理、条件执行、数据库访问、循环和国际化。
JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。
jstl标准库的引入
- 官方下载地址:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/
- windows点击下载 jakarta-taglibs-standard-1.1.2.zip 包并解压,将 jakarta-taglibs-standard-1.1.2/lib/ 下的两个 jar 文件:standard.jar 和 jstl.jar 文件拷贝到你web项目的 /WEB-INF/lib/ 下。
- 使用<%@ taglib %> 引入标准标签库
常用的标准标签
- 核心标签
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>//引入标准标签库
<c:out> | 用于在JSP中显示数据,就像<%= … > |
---|---|
<c:set> | 用于设置保存数据 |
<c:remove> | 用于删除数据 |
<c:catch> | 用来处理产生错误的异常状况,并且将错误信息储存起来 |
<c:choose> | 本身只当做<c:when>和<c:otherwise>的父标签 |
<c:when> | <c:choose>的子标签,用来判断条件是否成立 |
<c:otherwise> | <c:choose>的子标签,接在<c:when>标签后,当<c:when>标签判断为false时被执行 |
<c:import> | 检索一个绝对或相对 URL,然后将其内容暴露给页面 |
<c:forEach> | 基础迭代标签,接受多种集合类型 |
<c:forTokens> | 根据指定的分隔符来分隔内容并迭代输出 |
<c:param> | 用来给包含或重定向的页面传递参数 |
<c:redirect> | 重定向至一个新的URL. |
<c:url> | 使用可选的查询参数来创造一个URL |
<c:if> | 与我们在一般程序中用的if一样 |
-
代码示例:
-
<c:out>:
<%--<body>向页面打印数据的标签--%> <c:out value="你是猪"></c:out>
-
<c:set>:
<%--设置name的值为张三,scope是设置它的域,为session域--%> <c:set scope="session" var="name" value="张三"></c:set>
-
<c:remove>
<%--移除名为name的值--%> <c:remove var="name"></c:remove>
-
<c:if>
<%--if做判断,test是条件使用el表达式--%> <c:if test="${5>3}"> <c:out value="5>3"></c:out> </c:if>
-
<c:foreach>
<%--foreach循环,var定义一个变量,begin从什么地方开始,end是结束--%> <c:forEach var="i" begin="1" end="10"> <c:out value="i = ${i}"></c:out> </c:forEach>
-
<c:forTokens>
<%--items要被循环的信息,delims什么什么作为分隔符,每次的放到变量name中--%> <c:forTokens items="zhangsan,lisi,wangwu" delims="," var="name"> <c:out value="${name}"></c:out> </c:forTokens>
-
<c:choose> 和<c:when> 和<c:otherwise>连用。
<%--<c:choose>--%> <%-- <c:when test="${10>3}">--%> <%-- <c:out value="5>3"></c:out>--%> <%-- </c:when>--%> <%-- <c:when test="5<3">--%> <%-- <c:out value="5<3"></c:out>--%> <%-- </c:when>--%> <%-- <c:otherwise>--%> <%-- <c:out value="不存在"></c:out>--%> <%-- </c:otherwise>--%> <%--</c:choose>--%>
-
<c:import>
<%--//根据路径获取其中内容--%> <c:import url="http://www.baidu.com" var="url"></c:import> <c:out value="${url}"></c:out>
-
<c:redirect >
<%--自动重写URL来将浏览器重定向至一个新的URL--%> <c:redirect url="http://www.baidu.com"></c:redirect>
-
格式化标签
引入:<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
-
常用的格式化标签
-
fmt:formatDate | 使用指定的风格或模式格式化日期和时间 |
---|---|
fmt:formatNumber | 使用指定的格式或精度格式化数字 |
-
代码示例:
-
fmt:formatDate:
-
获取时间:
<fmt:formatDate type="time" value="${now}" />
-
获取年月日:
<fmt:formatDate type="date" value="${now}" />
-
获取24小时制年月日时分秒:
<fmt:formatDate type="both" value="${now}" />
-
获取12小时制的年月日时分秒:
<fmt:formatDate type="both" dateStyle="short" timeStyle="short" value="${now}" />
-
获取–年--月–日 上午 --时-- 分–秒:
<fmt:formatDate type="both" dateStyle="long" timeStyle="long" value="${now}" />
-
获取年月日:
<fmt:formatDate pattern="yyyy-MM-dd" value="${now}" />
-
-
fmt:formatNumber:
标签属性:
-
SQL标签
-
引入:
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
-
常用标签
-
sql:setDataSource | 加载数据库驱动 |
---|---|
sql:query | 运行查询语句 |
sql:update | 运行更新语句 |
sql:param | 设置sql语句中的占位符的值 |
sql:dateParam | 将SQL语句中的日期参数设为指定的java.util.Date 对象值 |
sql:transaction | 在共享数据库连接中提供嵌套的数据库行为元素,将所有语句以一个事务的形式来运行 |
-
代码示例:
-
sql:setDataSource加载驱动:
<%--//加载数据库驱动,获取连接--%> <sql:setDataSource var="connection" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/test"
-
查询数据:
<%--<%–数据库查询操作–%>--%> <sql:query var="result" dataSource="${connection}"> select * from user02; </sql:query>
使用遍历c:foreach遍历result结果集
-
添加一个数据
<%--添加一个数据进去--%> <sql:update dataSource="${connection}" var="insert"> insert into user02 values(10009,"王明欣","123","西安市","0","123456"); </sql:update>
-
删除一个数据
<%--删除一个数据--%> <sql:update dataSource="${connection}"> delete from user02 where id = 10009; </sql:update>
-
更新一个数据
<%--更新一个数据--%> <sql:update dataSource="${connection}"> update user02 set password = 234 where id = 10007; </sql:update>
-
sql:update 和sql:param 连用
<%--添加一个数据进去,使用?占位符,parm传参--%> <sql:update dataSource="${connection}" var="insert"> insert into user02 values(?,?,?,?,?,?); <sql:param value="10009"></sql:param> <sql:param value="张三"></sql:param> <sql:param value="123"></sql:param> <sql:param value="上海"></sql:param> <sql:param value="0"></sql:param> <sql:param value="123456"></sql:param> </sql:update>
-
-
以上就是jsp的一些比较常用的标准标签。