分享人:慕孟洋
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
在JSP页面编程中,使用标签库替代传统的Java片段语言来实现页面的显示逻辑是非常流行的做法。
JSTL标签库是由SUN公司推出的JSP标准标签库,用来解决创建的页面操作问题。
JSTL是一个不断完善的开放源代码的JSP标签库,其由Apache的Jakarta小组维护。在JSP2.0中作为标准支持。
JSTL中的标签可以分为5大类:
1)核心标签:作用:包含Web应用的常见工作,循环、输入输出等 URI:http://java.sun.com/jsp/jstl/core 前缀:c
2)国际化标签:作用:语言区域、消息、数字和日期格式化 URI:http://java.sun.com/jsp/jstl/fmt 前缀:fmt
3)XML标签:作用:访问XML文件 URI:http://java.sun.com/jsp/jstl/xml 前缀:x
4)数据库标签 作用:访问数据库 URI:http://java.sun.com/jsp/jstl/sql 前缀:sql
5)函数标签:作用:访问长度、字符串操作 URI:http://java.sun.com/jsp/jstl/functions 前缀:fn
在JSP页面中使用JSTL标签库,必须通过以下格式用taglib指令:
<%@ taglib uri="uri" prefix="prefix"%>
前缀prifix可以是任意的,但是采用惯例能够使团队的其他开发人员更容易读懂代码。
Core标签库,又被称为核心标签库,该标签库的工作是对于JSP页面一般梳理的封装。
该标签库中一共有14个标签,被分为了4类:
多用途核心标签:<c:out>、<c:set>、<c:remove>、<c:catch>
条件控制标签:<c:if>、<c:choose>、<c:when>、<c:otherwise>
循环控制标签:<c:forEach>、<c:forTokens>
URL相关标签:<c:import>、<c:url>、<c:redirect>、<c:param>
<c:out>标签是一个最常用的标签,用于在JSP中显示数据。
<c:set>标签用于为变量或JavaBean中的变量属性赋值。
<c:remove>标签用于删除存在于scope中的变量。
<c:catch>标签用于在JSP页面中捕获异常。
<c:if>标签用于对某一条件进行测试,假如结果为true,就处理它的body content。测试结果可以保持在 var变量当中,之后可以引用该变量。
JSTL没有提供else标签,复杂的条件判断使用<c:choose>、<c:when>、<c:otherwise>标签。
<c:choose>标签没有属性,只是作为父标签存在,<c:when>、<c:otherwise>作为子标签来使用。 <c:choose>标签中可以嵌套一个或者多个<c:when>标签,每个<c:when>标签都表示一种可以处理的情况。
<c:when>标签等价于if语句,它包含一个test属性,该属性表示需要判断的条件。
<c:otherwise>标签没有属性,它等价于else语句。
<c:forEach>标签用于循环控制,可以遍历的对象包括Java.util.Collection和Java.util.Map的所有实现类以及数组。
<c:forTokens>标签可以使用某个分隔符分割指定的字符串。
<c:import>标签用于包含另一个JSP页面到本页面中来。
<c:url>标签用于组合一个正确的URL地址。
<c:redirect>标签通过自动重写URL来将浏览器重定向至一个新的URL。
<c:param>标签用于在<c:url>标签中指定参数,而且与URL编码相关。
C标签如何使用?
1)导入相关的依赖。(jstl.jar和standard.jar)
2)在JSP页面引入taglib指令
为什么使用C标签?
1)使用标签库替代传统的Java片段语言来实现页面的显示逻辑是一种非常流行的做法。
2)使用自定义标签很容易造成重复定义和非标准的代码。
Spring+MyBatis企业应用实战
......
感谢大家观看
BY : 慕孟洋