Java Web开发基础(3)-JSTL

在DRP项目中接触到了JSTL标签库,对我这样的比較懒的人来说,第一感觉就是“惊艳”。

JSTL标签库的使用。能够消除大量复杂、繁复的工作。工作量降低的不是一点半点。是降低了一大半。不论什么工具的引入,都会使我们的工作变的简单。可是问题是我们工作能够变的简单,可是我们不能让自己的大脑变的简单。所以,我们不是简单的会用就能够。我们还须要了解这个工具是怎样工作的。怎样为我们提供便利的。ok。以下进入正题,我们从问题開始……

JSP脚本带来的问题

不知道看到这几个子,各位有什么想法?反正我认为JSP就像孙猴子法力无边可是不服管教。是令人头疼的东西。为什么呢?JSP脚本极大的提高了程序的复杂性,同一时候JSP脚本也添加了代码阅读的困难。最后,也是最令人头疼的问题就是调试麻烦(感受深刻)。

这就是源头了。你要是认为体会不够深刻的话能够自己动手试试写JSP脚本

从JSP1.1開始,JSP就支持在JSP中使用自己定义标签,来解决JSP脚本所带来的问题。可是,自己定义标签的广泛使用引发了新的问题,即反复定义、复用性差。因此。SUN公司推出了标签的标准,即JSTL(JSP Standard Tag  Libaray),而Apach实现了JSTL规范。

以下价绍JSTL……

JSTL 简单介绍

JSTL包含五类标准标记库:核心库、格式库、XML库、SQL库、函数库。例如以下图所看到的:

  

JSTL实际上是以还有一种良好的界面或者说接口来取代了JSP脚本的工作,大家知道JSP页面是会被解析成Servlet的所以WebServlet容器在引入JSTL后肯定是要有相应的解析器。然后。就和原来使用JSP脚本没什么差别了。也就是说JSTL所做的工作是一种优化。

另外呢,JSTL和EL表达式都是一块使用的。可是EL表达式不算是JSTL的一部分。

由于,没有JSTL的情况下,EL表达式也是能够使用的。尽管有的资料直接说JSTL包含JSTL和EL表达式两个部分,应该是不太妥当的。

所以。EL表达式会在下篇博客单独介绍。

  实例体验

这是在使用JSP脚本和JSTL所做的循环输出。

  JSP版本号:

            <%	List itemList = pageModel.getList();
			for (Iterator iter = itemList.iterator(); iter.hasNext();) {
			Item item = (Item) iter.next();
	    %>
		<tr>

		    <td class="rd8">
			<input type="checkbox" name="selectFlag" class="checkbox1"
						value="<%=item.getItemNo()%>">
		    </td>
		    <td class="rd8">
			<a href=""
			 onClick="window.open(‘item_detail.html‘, ‘具体信息‘, ‘width=400, height=400, scrollbars=no‘);"><%=item.getItemNo()%></a>
		    </td>
		    <td class="rd8">
			 <%=item.getItemName()%>
		    </td>
		    <td class="rd8">
			  <%=item.getSpec()%>
		    </td>
		    <td class="rd8">
		          <%=item.getPattern()%>
		    </td>
		    <td class="rd8">
			  <%=item.getItemCategory().getName()%>
		    </td>
		    <td class="rd8">
			  <%=item.getItemUnit().getName()%>
		    </td>
		</tr>
		<%
				}
		%>

JSTL版本号:

            <c:forEach items="${pageModel.list}" var="item" >
					<tr>
						<td class="rd8">
							<input type="checkbox" name="selectFlag" class="checkbox1"
								value="${item.itemNo }">
						</td>
						<td class="rd8">
							<a href="#"
								onClick="window.open(‘item_detail.html‘, ‘物料具体信息‘, ‘width=400, height=400, scrollbars=no‘);">${item.itemNo }</a>
						</td>
						<td class="rd8">
							${item.itemName }
						</td>
						<td class="rd8">
							${item.spec }
						</td>
						<td class="rd8">
								${item.pattern }
						</td>
						<td class="rd8">
								${item.itemCategory.name }
						</td>
						<td class="rd8">
								${item.itemUnit.name }
						</td>
					</tr>
			</c:forEach>

总结:总的来说。JSTL最大的特点就是简单。它相当于对JSP脚本做了一次封装,或者说是外观模式的应用吧。将复杂的逻辑处理隐藏起来,对外提供统一的接口。也就是说JSP页面的开发能够不依赖于Java代码了,即在如今分工越发明细,职责越发单一的开发趋势下为web开发的现实和逻辑划清了界限。也就是说在开发者的配置上实现了解耦和。

时间: 2025-01-01 14:59:22

Java Web开发基础(3)-JSTL的相关文章

Java Web开发基础(1)-Servlet

概述 Servlet技术是对webserver的扩展,要理解这个,可能先了解一下什么是Webserver以及它的功能,特别是它的不足是非常有帮助的,可參考:点击打开链接.另外.Servlet也是一个用java语言的Servlet API编写的特殊的java类.它执行在Servlet容器中.它的功能是分析请求,处理请求,构造响应消息,它本来就处于web服务的线上这也非常easy理解.概念上就这么多了. Servlet容器 容器负责管理Servlet类,其内容包含:匹配Servlet,运行Servl

java Web开发基础(一)工程项目文档结构

     2013年毕业后,在深圳工作开始是用.NET ASP.NET MVC做的项目,后来公司用java来做.于是就从.NET转java了.从.NET转java不是那么的难.今天刚好是清明节放假三天,整理了java web项目的文档结构. 一.Struts2+Spring+Hibernate 项目的文档结构   二.Spring MVC+MyBatis项目的文档结构   三.Tomcat文档目录结构

Java Web开发基础(2)-JSP

上一篇博我粗略的介绍了一下Servlet.粗略是由于博主也刚刚学习这部分的内容,还不是非常懂所以无法讲的非常精细.可是本着二八原则,我还是先继续学习.所以,这篇博客接着JSP的内容.由于.这两个内容关联性还是比較强的,学习的过程也应该是互相促进的. 简单介绍 概述:JSP(Java Server Page)简单的说是一种动态网页技术.它通过在HTML网页中嵌入可以生成动态内容的程序代码.来实现静态内容和动态内容在终于呈现给client的统一. 也就是说在HTML页中可以存在着JavaBean,J

java web开发基础学习

由于以前很少用java开发,至于连myEclipse都不怎么熟悉.    1.使用myEclipse生成部署网站步骤. 选tomcat后点击右边的Redeploy 这样便在tomcat目录下生成了一个部署网站文件. 2.使用myEclipse调试web步骤 将project下拉中所有项目的server全部remove. 留下需要调试的项目,add myelipse. 启动myeclipse服务器 在代码中打好断点,然后点地球图标跳转到开发工具浏览器 输入网址,点击右边的绿色三角形既可打开网页并调

Java Web开发环境搭建基础[Windows篇]

1. 准备软件: JDK:(jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe) Tomcat:(apache-tomcat-7.0.54-windows-x86.zip) Eclipse:(eclipse-java-helios-SR1-win32.zip) MySQL:(mysql-5.5.20-win32.msi) MySQL JDBC:(mysql-connector-java-5.1.31.zip) Navicat for MySQL

用JSTL简化Java Web开发

如今这个手中的项目jstl都不要,不方便呢... 链接学习下载:http://c20000001.blog.163.com/blog/static/1154754120088303531450/ 用JSTL简化Java Web开发

熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验. 1.说一说Servlet生命周期(非常重要) Servlet生命周期包括三部分: 初始化:Web容器加载servlet,调用init()方法 只执行一次 处理请求:当请求到达时,运行其service()方法.service()自动调用与请求相对应的doXXX

Java Web开发笔记(2016-5-6 11:13、2016-5-10 11:13、2016-5-12 14:58)

http://localhost:8080/EquipmentSys/equipment/findEquipStateByEquipmentNumber.html?DEVEICEID=04:e6:76:df:f0:94 返回 1,1 设备状态(1运营,2维护,3锁定),是否更新的开关IsUpdate={1,0}(游戏APK更新条件:IsUpdate=1而且版本号不一样) /** * 接口 * @param request * @return * @throws UnsupportedEncodi

《Tomcat与Java Web开发技术详解》思维导图

越想构建上层建筑,就越觉得底层基础很重要.补课系列. 书是良心书,就是太基础了,正适合补课. [纯文字版] Tomcat与Java Web开发技术详解 Servlet Servlet的生命周期 初始化 1Servlet容器加载Servlet类 2Servlet容器创建ServletConfig,初始化配置信息 3Servlet容器创建Servlet对象 4Servlet容器调用Servlet对象的init(ServletConfig) 时机:首次被请求或配置了<load-on-startup>