天天看点

jsp的标准标签库--jsp常用的标准标签概念jstl标准库的引入常用的标准标签

jsp常用的标准标签

  • 概念
  • jstl标准库的引入
  • 常用的标准标签

概念

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:

      标签属性:

      jsp的标准标签库--jsp常用的标准标签概念jstl标准库的引入常用的标准标签
    • 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"
      
                 
    • 查询数据:
      <%--&lt;%&ndash;数据库查询操作&ndash;%&gt;--%>
      <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的一些比较常用的标准标签。