码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2014-12-31 14:38:42      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

是什么?

    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="">  VS  ${el表达式}
			①default
			②escapeXml=""  //是否解析html字符串
		<c:set>  VS  <c:remove>
			属性:value,
		<c:if test>   --If
		<c:choose><c:when test><c:otherwise>
		<c:forEach items var="单个元素变量" varStatus="计数器" begin="" end="" step="">
		<c:forTokens items delims var> --使用有特殊符号间隔的字符串  VS  fn:split
	(2)fmt
		<fmt:formatDate value type patten>
		<fmt:formatNumber value patten ..>
	(3)fn
		${fn:函数名()}
		自定义函数--公共静态方法,并进行tld标签库文件配置

小结

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



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

标签:

原文地址:http://blog.csdn.net/lfsfxytgb9_lyg/article/details/42293613

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!