首页 > 代码库 > 【Java技术点滴】——JSTL教程之分层思想

【Java技术点滴】——JSTL教程之分层思想

是什么?

    JSTL(JSP Standard TagLibrary,JSP标准标签库)是一个不断完善的开放源代码的JSP标准标签库,是Sun的一个标准,由apache的jakarta小组来实现、维护的。


为什么?

使用JSTL的最大的目的是帮助简化JSP页面作者(这个职位称为pageauthor)的日常工作。page author是指负责使用JSP实现Web应用程序表示层的人员。许多page author是不擅长使用任何编程语言的。

page author面临着使用一种脚本语言(也因此他们被看成了一名Java程序员)去操作JSP页面动态数据的需求,不幸的是pageauthor不得不去面对复杂的不适应他们需要的脚本语言(Java代码)

做什么?

    通过避免使用脚本编制元素来简化对 JSP 应用程序的软件维护

JSTL提供以下功能:

1)一般方法

这些方法补充了表达式语言,使得一个pageauthor很容易的去使用表达式语言,设置和删除JSP作用域的属性值,也可以捕获异常。

2)流程控制方法

基于标签的控制流程结构(条件、迭代器),对于page authors更加友好

3)标签库验证器(Tag library validators--TLVS)

TLVS允许程序只接受特定的标签库,也能限制JSP编码格式,免于脚本语言的使用。


怎么用?

    JSTL 与 JSP

        JSTL的使用是在JSP的基础上引入相应的标签库,简化在JSP页面出现的Java代码,使页面更加简洁。提高页面的可读性以及可维护性。

    JSTL 与 EL

        EL是Java中的一种特殊的通用编程语言,借鉴于JavaScript和XPath。主要作用是在JavaWeb应用程序嵌入到网页(如JSP)中,用以访问页面的上下文以及不同作用域中的对象,取得对象属性的值,或执行简单的运算或判断操作。EL在得到某个数据时,会自动进行数据类型的转换。

        与JSTL标记一起作用,能用简单而又方便的符号来表示复杂的行为。

        1、语法结构

            ${expression},expression类似于对象的使用,可以采用.操作符(存取器)来获取,相当于是对JSP中Java代码<%=request.getAttribute("request中存取的变量名")%>的进一步封装,使用更方便

        2、支持运算符的使用

            ==/eq  !=/ne  </lt >/gt   &&/and  ||/or !/not  //div %/mod

    分类

	--需要引入相关实现
	%@ taglib uri="..." prefix(前缀)="c/fmt/fn" %>
	(1)Core
		<c:out value=http://www.mamicode.com/"">  VS  ${el表达式}>

小结

    说到底,引入对JSTL的学习,实质上还是表达了分层的思想,页面层的开发是为了展示效果,与后台功能实现还是有所不同的,我们不能期望着页面开发人员都能读懂Java代码,在繁杂的Java代码下进行自己页面开发的工作。有了JSTL就很大程度上降低了这样情况的出现,降低了页面与后台代码的耦合,开发、维护都更加高效!



【Java技术点滴】——JSTL教程之分层思想