网站更新方法,网站开发应注意什么,我们的网站,直播网站开发核心技术JSTL概述
JSTL 全名为 JavaServer Pages Standard TagLibrary,即jsp标准标签库。JSTL 是由 JCP #xff08;Java Community Process#xff09;所指定的标准规格#xff0c;它主要提供给 Java Web 开发人员一个标准通用的标签函数库。 Web 程序开发人员能够利用 J STL 和 E…JSTL概述
JSTL 全名为 JavaServer Pages Standard TagLibrary,即jsp标准标签库。JSTL 是由 JCP Java Community Process所指定的标准规格它主要提供给 Java Web 开发人员一个标准通用的标签函数库。 Web 程序开发人员能够利用 J STL 和 EL 来开发 Web 程序取代传统直接在页面上嵌入 Java 程序Script的做法以提高程序可读性、维护性和方便性。
JSTL简介
JavaServer Pages Standard TagLibrary ( 1. 1 ) 它的中文名称为 JSP 标准标签函数库。JSTL 是一个标准的已制定好的标签库可以应用于各种领域如基本输入输出、流程控制、循环、XML 文件剖析、数据库查询及国际化和文字格式标准化的应用等。JSTL 所提供的标签函数库主要分为五大类 • 核心标签(用得最多) • 国际化标签(I18N格式化标签) • 数据库标签(SQL标签很少使用) • XML标签(几乎不用) • JSTL函数(EL函数)
安装 JSTL
1下载jstl库 从Apache的标准标签库中下载的二进包(jakarta-taglibs-standard-current.zip)。 官方下载地址http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/ 2jstl库安装拷贝导入 下载jakarta-taglibs-standard-1.1.2.zip 包并解压将jakarta-taglibs-standard-1.1.2/lib/下的两个jar文件standard.jar和jstl.jar文件拷贝到创建的工程中的/WEB-INF/lib/下即可。 3jstl库引入 在需要用到jstl库的jsp页面的开头引入jstl库,格式如下: % taglib prefix“c” uri“http://java.sun.com/jsp/jstl/core” % prefix为引用库的前缀,建议不要改动,url必须为http://java.sun.com/jsp/jstl/core
核心标签库
JSTL的核心标签库标签共13个使用这些标签能够完成JSP页面的基本功能减少编码工作。 从功能上可以分为4类表达式控制标签、流程控制标签、循环标签、URL操作标签。 1表达式控制标签out标签、set标签、remove标签、catch标签。 2流程控制标签if标签、choose标签、when标签、otherwise标签。 3循环标签forEach标签、forTokens标签。 4URL操作标签import标签、url标签、redirect标签、param标签。
c:out标签
c:out标签主要是用来输出数据对象字符串、表达式的内容或结果。 在使用Java脚本输出时常使用的方式为 % out.println(“字符串”)% 或者 %表达式% 在web开发中为了避免暴露逻辑代码会尽量减少页面中的Java脚本使用c:out标签就可以实现以上功能。 c:out语法如下: • c:out value”字符串” [escapeXml”true|false”] [default”默认值”] • c:out value”EL表达式” [escapeXml”true|false”] [default”默认值”]
c:set标签
c:set标签用于把某一个对象存在指定的域范围内或者将某一个对象存储到Map或者JavaBean对象中。 c:set语法如下: c:set value”值1” var”name1” [scope”page|request|session|application”]/ 含义把一个变量名为name1值为“值1”的变量存储在指定的scope范围内。
c:remove标签
c:remove标签主要用来从指定的JSP范围内移除指定的变量。 c:remove语法如下: c:remove var”变量名” [scope”page|request|session|application”]/其中var属性是必须的scope可以以省略。 c:catch标签 c:catch标签用于捕获嵌套在标签体中的内容抛出的异常。 c:catch语法如下: c:catch [var“varName”]容易产生异常的代码/c:catch var属性用于标识c:catch标签捕获的异常对象它将保存在page这个Web域中。
c:if标签
c:if标签和程序中的if语句作用相同用来实现条件控制。 c:if语法如下: 【语法1】没有标签体内容(body) c:if test“testCondition” var“varName” [scope“{page|request|session|application}”]/ 【语法2】有标签体内容 c:if test“testCondition” [var“varName”] [scope“{page|request|session|application}”] 标签体内容 /c:if • test属性用于存放判断的条件一般使用EL表达式来编写。 • var属性用来存放判断的结果类型为true或false。 • scopes属性用来指定var属性存放的范围。
流程控制标签
流程控制标签包括choose标签、when标签、otherwise标签.这3个标签通常情况下是一起使用的c:choose标签作为c:when和c:otherwise标签的父标签来使用.类似 “if-else if-else” 的条件判断结构.
c:choosec:when test条件1//业务逻辑1c:whenc:when test条件2//业务逻辑2c:whenc:when test条件n//业务逻辑nc:whenc:otherwise//业务逻辑/c:otherwise/c:choosec:forEach标签
该标签根据循环条件遍历集合Collection中的元素。 c:forEach语法如下:
c:forEach var”name” items”Collection” varStatus”StatusName” begin”begin” end”end” step”step”本体内容
/c:forEach• var设定变量名用于存储从集合中取出元素。 • items指定要遍历的集合。 • begin、end用于指定遍历的起始位置和终止位置可选。 • step指定循环的步长。 • varStatus描述循环的状态信息。 对于varStatus可以取值index\count\first\last\current。 • current当前这次迭代的集合中的项 • index当前这次迭代从 0 开始的迭代计数 • count当前这次迭代从 1 开始的迭代计数 • first用来表明当前这轮迭代是否为第一次迭代的标志返回true/false • last用来表明当前这轮迭代是否为最后一次迭代的标志,返回true/false