JSTL简1

    技术2022-05-11  36

    组成

    CORE 核心标记库 包括了循环 条件判断 表达式赋值 基本输入输出等功能.

    FMT 格式化/国际化标记库 主要用来格式化数据以及提供显示信息的国际化的支持功能.

    SQL 数据库标记库 包含了用来访问数据库的各种标记.通常仅仅只创建原形(PROTOTYPE)程序.

    XML标记库 包含被用来访问XML元素的标记.

    安装

    只需将JSTL API类jstl.jar和JSTL实现类(standard.jar)复制到WEB应用的LIB中.JSTL还依赖于JAXP.1.2, XALAN2.5 ,

    JDBC STANDARD EXTENSION2.0

    使用

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

    <%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>

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

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

    隐式对象11个区别于JSP的9个.

    JSP:page request response session application  pageContext exception config out

    JSTL:(JSP)pageContext (作用域)pageScope requestScope sessionScope applicationScope (请求参数)param paramValues (请求头)header headerValues (Cookie)cookie(初始化参数)initParam

    存取器:点运算符. 和方括号运算符[]

    <c:forEach>标记的语法定义如下:

    <c:forEach var="name" items="expression" varStatus="name" begin="expression" end="expression" step="expression">

    </c:forEach>

    var :迭代参数的名称.items:要进行迭代的集合.varStatus:迭代变量的名称,用来表示迭代的状态.

    begin:如果指定了items,那么迭代就从items[begin]开始,items[end]结束.如果没有指定items,那么就从begin开始.类型为整数.相当于for循环的i

    step:迭代的步长

    items属性支持所有标准集合类型.1.Collection 2.Map 3.Iterator 4.Enumeration 5.实例数组 6.基本类型数组 7.逗号界定的String 8.javax.servlet.jsp.jstl.sql.Result

    varStatus 包含了一系列特性.描述了迭代的当前状态.

    例如: varStatus="loop"

    loop.current:当前这次迭代的(集合中的)项

    loop.index:从0开始的迭代索引

    loop.count:从1开始的迭代索引

    loop.first:是否为第一次迭代,boolean

    loop.last:是否为最后一次迭代,boolean

    loop.begin:begin属性的值

    loop.end:end属性的值

    loop.step:step属性的值

     

    <c:set>标记语法定义如下:

    <c:set var="name" scope="scope" value="expression" />

    var:所定义或者使用的变量的名称

    scope:变量的作用域,默认为page

    value:值

    作用:在JSP面中创建限制了作用域的变量 ,如果已经存在了,那么会把指定的值赋给该变量

     

    <c:if>标记语法定义如下:

    <c:if test="expression" var="name" scope="scope"></c:if>

    test:指定条件判断的表达式

    var:测定结果的变量名,用来保存表达式的结果.避免同一页面的多次相同判断

    scope:作用域

     

    <c:out>标记语法定义如下:

    <c:out value="expression" default="expression" escapeXml="boolean" />

    value:表达式

    default:默认.当值为NULL或者String为空的时候打印

    escapeXml:是否转义.如果设置为true,会自动进行编码处理

    实例:

    vo: String item , int percent.

    Action: request.setAttribute("list",list);

    JSP:

    <table>

    <c:forEach var="col" items="${list}">

    <tr>

    <td>${col.item}(${col.percent})</td>

    <td width="${100-col.percent}%"></td>

    </tr>

    </c:forEach>

     

    最新回复(0)