商务合作:179001057@qq.com

JSTL简1

技术2022-05-11  0


某平台价值19860元的编程课程资料免费领取【点我领取】


组成

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)