`
云音泛天
  • 浏览: 1260 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论
阅读更多

jstl标签库常用的关键字有:

<c:if>、<c:else>、<c:choose>、<c:when>、<c:otherwise>、<c:foreEach>、<c:set>、<c:out>、<c:param>、<c:url>、<c:remove>、<c:redirect>、<c:import>.

 

jsp标准标记库(Java Standard Tag Library , JSTL)是由一组以标准化格式是现在许多通用的Web站点功能的定制标记。

 

JSTL的目标是为了简化JSP页面的设计,对于页面设计人员来说,使用脚本语言(默认是Java语言)操作动态数据是比较困难的,而采用标签和表达式语言相对容易一些,JSTL的使用为页面设计人员和程序开发人员的分工协作提供了便利。

 

一:配置JSTL

首先应该下载导入两个jar文件,分别是 jstl.jar 和 standard.jar .

配置代码引入:

 

 

 

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
 
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %> 
 
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

 

二:core标签库

        core标签库主要包括了一般用途的标签,条件标签、迭代标签和URL相关的标签,在JSP页面使用Core标签,必须要使用taglib指令,指定引用的标签库,例如:

 

<%@ taglib rui=”http://java.sun.com/jsp/jstl/core” prefix=”c” %> 

 

一般用途的标签有:<c:out>、<c:set>、<c:remove>、<c:catch>

 

1.<c:out>

 

用于计算一个表达式并将结果输出。类似于JSP中的<%=%>表达式,或者是EL中的${el-expression}.

 

2:<c:set>

 

用于设置范围变量的值或者JavaBean对象的属性。

 

实例:

 

<c:set var="username" value="tom" scope="session"/>

 

 这就相当于设置了session

 

3:<c:remove>

 

相对于<c:set>来说,它的的作用是移除范围变量。比如:

 

<c:remove var="username" scope="session"/>

 

4:<c:catch>

 

用于捕获在其中嵌套的操作所抛出的异常对象,并将异常信息保存到变量中。

一般来说,我们将有可能抛出异常的代码放置到开始标签<c:catch>和结束标签</c:catch>之间。如果其中代码出现异常,异常对象将被捕获,保存在申明的变量中,该变量总是有page范围。如果没有发生异常,而var所标识的范围变量将被移除。

如果没有指定var属性,异常只是简单的被捕获,异常信息并不会被保存。

 

例子:

<c:catch var="exception">

<%

        int i = 5;

        int j = 0;

        int  k =i/j;

%>

</c:catch>

<c:out value="${exception}"/><br>

<c:out value="${exception.massage}"/>

后一句相当于:exception.getMessage()

条件标签包括:<c:if><c:choose><c:when><c:otherwise>

 

1:<c:if>

 

用于实现Java中的if语句功能。

 

<c:if test="${user.visitCount==1}">

 

    This is your first visit;

 

</c:if>

若为true,会打印中间部分。也可以声明var,方便下一步判断。

 

<c:if test="${param.name=='admin' value=""result}"/>

 

<c:out value="${result}"/>

 

2:<c:choose>

 

<c:choose>和<c:when>、<c:otherwise>一起实现互斥条件执行,类似于java中的if else

 

<c:choose>一般作为<c:when>、<c:otherwise>的父标签。

 

例如:

 

<c:choose>

    <c:when test="${row.value<100}">

        初级   

    </c:when>

    <c:when test="${row.value>=100&&row.value<1000}">

        中级   

    </c:when>

    <c:otherwise">

        高   

    </c:otherwise>

 

</c:choose>

 

迭代标签:

 

迭代标签有<c:forEach></forEach>

 

<c:forEach items="${yearList }" var="year">
        <option value="${year.culitBatchId}"
                <c:if test="${year.culitBatchId == yearId}">selected</c:if>>${year.cultivateBatchName}

        </option>
</c:forEach>

 

还可以设定固定次数:

<c:forEach var="i" begin="100" end="200" step="2">

        ${ i }

</c:forEach>

step="2" 表示每次增长数为2

 

三. sql 标签 
 
设置数据源: 
 
<sql:setDataSource dataSource="proxool.breadTycoon" /> 
 
// 将数据库某查询的结果声明为一个变量 
 
<sql:query var="finalResult" > 
 
    select player_name,money from tb_player order by money DESC LIMIT 10    
 
</sql:query> 
 
       然后可以: 
 
<c:forEach items="${ finalResult.rows}" var="row" varStatus="s"> 
 
        advCosts[${s.index}]=${row.adv_cost}; 
 
   </c:forEach> 
 
       数据更新标签: 
 
<sql:update>   
 
                call proc_set_role_salespro(?,?,?,?,?); 
 
                <sql:param value="30"/> 
 
                <sql:param value="39"/> 
 
                <sql:param value="<%=spID%>"/> 
 
                <sql:param value="<%=productID%>"/> 
 
                <sql:param value="1"/>                
 
            </sql:update> 
 
<sql:query var="queryAllChannelCount"> 
 
SELECT COUNT(*) as total FROM tb_channel WHERE game_id=? AND begin_round<func_cur_round(?) AND player_id=? AND channel_flag=0 
 
<sql:param value="${gameID}"/> 
 
<sql:param value="${gameID}"/> 
 
<sql:param value="${playerID}"/> 
 
</sql:query> 
 
<c:forEach items="${queryAllChannelCount.rowsByIndex}" var="channelCN"> 
 
       <c:set value="${channelCN[0]}" var="channelTotal"/> 
 
</c:forEach> 
 
调用存储过程更新数据库: 
 
<c:if test="${param.changsubmit!=null}" > 
 
<c:forEach items="${paramValues.pro_id}" var="getpro_id" varStatus="getparamsta"> 
 
<sql:update> 
 
call proc_set_role_product(?,?,?,?,?,?,?,?); 
 
<sql:param value="${gameID}"/> 
 
<sql:param value="${playerID}"/> 
 
<sql:param value="${getpro_id}"/> 
 
<sql:param value="${getpro_id}"/> 
 
<sql:param value="${paramValues.pro_sort[getparamsta.index]}"/> 
 
<sql:param value="${paramValues.price[getparamsta.index]}"/> 
 
<sql:param value="${paramValues.output[getparamsta.index]}"/> 
 
<sql:param value="0"/> 
 
</sql:update> 
 
</c:forEach> 
 
</c:if> 

 

 

 

分享到:
评论

相关推荐

    JAVAEE实验报告EL表达式和jstl标签库的使用.pdf

    JAVAEE 实验报告 EL 表达式和 JSTL 标签库的使用 EL 表达式(Expression Language)是一种在 JSP 页面中使用的脚本语言,用于简化 JSP 页面的开发。EL 表达式可以访问 JSP 页面中的变量、对象和集合,进行逻辑操作...

    JSTL标签库及使用方法

    **JSTL标签库及其使用方法** JavaServer Pages Standard Tag Library(JSTL)是Java社区为简化JSP页面开发而推出的一个标准标签库。它提供了丰富的功能,如迭代、条件判断、XML处理、国际化等,使代码更加简洁、易...

    jstl标签库的配置

    本篇文章将深入探讨JSTL标签库的配置过程及其在实际应用中的作用。 首先,我们要理解**JSTL的核心组件**。JSTL主要由五个核心部分组成:Core、Format、I18N、SQL和XML。其中,Core组件包含了大部分用于控制流程、...

    JavaWeb-12:自定义标签库开发&JSTL标签库

    二、JSTL标签库 JSTL是Java Web开发的标准标签库,它包含五个核心部分:Core、Format、I18N、XML和SQL。这些标签提供了丰富的功能,例如控制流、格式化、国际化、XML处理和数据库操作。 1. **Core标签**:包括if、...

    JSTL标签库需要导入的Jar包

    以下是关于JSTL标签库所需导入的JAR包及其功能的详细解释: 1. **jstl.jar**:这是核心JSTL库,包含了大部分常用的标签,如 `&lt;c:if&gt;`, `&lt;c:forEach&gt;`, `&lt;fmt:formatDate&gt;` 等。这些标签提供了条件判断、循环、格式...

    JSTL标签库jar包文件

    每个`taglib`元素定义了一个TLD(Tag Library Descriptor)文件的位置,这告诉服务器JSTL标签库的位置和元数据。 总之,JSTL通过提供丰富的标签来增强JSP页面的功能,而解决"无法解析绝对uri"的错误通常涉及到正确...

    JSTL标签库jar包

    - 使用JSTL标签库可以提高代码的可读性和可维护性,降低HTML和Java代码的混合程度。 - 结合EL,可以进一步减少脚本let的使用,使JSP页面更加整洁。 - 注意,JSTL的SQL标签库不适用于复杂的数据库操作,现代Web应用...

    JSTL标签库的下载

    ### JSTL标签库及其下载 #### JSTL概述 JSTL(JavaServer Pages Standard Tag Library,JavaServer页面标准标签库)是一组用于开发JavaServer Pages页面的标准标签集合。这些标签简化了JSP页面的编写工作,使...

    jstl标签库jar包

    **JSTL标签库与JAR包详解** JavaServer Pages Standard Tag Library(JSTL)是Java EE领域中用于简化JSP开发的一个重要工具。它提供了一组预定义的标签,帮助开发者更高效地处理常见任务,如迭代、条件判断、国际化...

    JSTL标签库-tomcat10-简化JSP中java代码

    JSTL(JavaServer Pages Standard Tag Library)是Java Web开发中一个重要的标签库,主要用于简化JSP页面中的Java代码,提高JSP页面的可读性和维护性。在Tomcat 10这个高性能、轻量级的Servlet容器中,JSTL的使用...

    JSTL标签库

    【JSTL标签库】是Java服务器页面(JSP)中的一种重要工具,它旨在增强HTML表单的功能,规范自定义标签的使用,以适应软件开发的分层设计原则,避免在JSP页面中混杂Java逻辑代码。JSTL(JavaServer Pages Standard ...

    JSTL标签库依赖,内含Tomcat8、Tomcat10所需JSTL依赖

    **JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中常用的一组预定义的HTML和XML标签,用于简化JavaServer Pages(JSP)开发。它提供了更面向声明的编程方式,使开发者可以更专注于业务逻辑...

    导入JSTL标签库的两个jar包

    在实际开发中,导入JSTL标签库的步骤如下: 1. **下载jar包**:可以从Maven仓库或其他可靠的源下载`jstl.jar`和`standard.jar`。 2. **添加到项目类路径**:将这两个jar包放入项目的WEB-INF/lib目录下。对于Maven...

    JSTL 标签库下载

    JSTL(JavaServer Pages Standard Tag Library)是Java服务器页面标准标签库,它为JSP开发者提供了一系列预定义的、可重用的标签,以简化网页开发过程,提高代码的可读性和可维护性。JSTL主要由以下几个核心部分组成...

    EL表达式与JSTL标签库

    EL表达式与JSTL标签库,挺实用的工具

    JSTL标签库下载配置

    在本资源包中,你将找到两个重要的JSTL相关文件——`jstl.jar`和`standard.jar`,以及一个名为`JSTL标签库配置.doc`的文档,它们是配置和使用JSTL标签库所必需的。 **一、jstl.jar和standard.jar** 1. **jstl.jar*...

    jstl标签库 手册

    JSTL(JavaServer Pages Standard Tag Library)是一个用于JSP的标准标签库,它提供了一系列预定义的标签,简化了常见的编程任务,如控制流程、输出处理、URL管理和数据操作等。JSTL的核心标签库(Core Library)是...

Global site tag (gtag.js) - Google Analytics