JSTL改进JSP来简化网页的实现过程(2)

js|过程|网页

JSTL标记库

至此,我已经解释了一些基本原理并且涵盖了EL语法。我要专门讨论四种JSTL标记库。我主要讨论核心库,因为它是你一定要使用的;但是,我也会详细的讨论其余几个,以便你能启动它。

首先,尽管我应该更多地谈论JSTL标记库的两种风格,我上面提到的每个JSTL标记库以两个版本出现:一个支持褂肊L的表达式;另一个支持标准JSP表达式。当你引入任何标记库到一个JSP页时,你要定义一个前缀,该前缀指定了与库中标记相对应的命名空间。

四种标准标记库,和他们的JSTL规范定义的前缀常规,列表如下。记住:你可以定义自己的前缀,但是这绝对没有什么好处。

四种标准标记库

为了使用页中的核心标记库( 实际上,你使你的页对标记库的命名空间可见),在你的页首包含下列例子中的指令:

<%@ taglib prefix="c" uri=http://java.sun.com/jstl/core %>

为了使用该标记库的标记,用你在你的包含语句中设计好的前缀,在你的页中给每个标记加上前缀:

<c:out value="${anExpression}"/>

核心数据库

让我们更详细的测试核心数据库,先看看他最通用的功能。

显示/设定值和异常处理

核心库的最基本的标记是c:out标记,它在页中显示一个EL表达式的值。一个使用c:out的表达式通常是这样:

We have <c:out value="${applicationScope.product.inventoryCount}" escapeXml="true" default="0"  /> of those items in stock.

上例中,value属性是我们送到页输出的表达式。我也说明了选项escapeXml的属性和默认属性。escapeXml的属性指定了XML字符(<、>、 &、 和 .)是否应该转化为相应的字符实体代码(这样他们可以让这些字符出现在一个HTML页中);默认属性用于EL不能估算出数值或者数值计算出来为空的情况。

注意:当EL支持完全贯穿整个JSP2.0的时候,你不需要使用c:out动作;你可以仅嵌套JSP表达式直接在页中。

另一个普遍使用的核心动作是c:set,它在页中设定一个变量。你可以用两种方法使用c:set动作,第一种方法设定在var属性中定义的变量到在value属性中定义的值上,方法如下:

<c:set var="customerID" value="$param:customerNumber" scope="session" />

上述的选择项scope属性指定了我们要在会话期范围内设定变量customerID;如果范围没有制定,范围默认为页。

c:set另一个强大的用途就是将c:set标记的体的内容赋给一个指定的变量:

<c:set var="cellContents"><td><c:out value="${myCell}"/></td></c:set>

在上例中,c:set动作定义了名为cellContents(在页的范围内)的变量,该变量拥有在标记的体中定义的内容。在这种情况下,体定义了一个HTML表格单元格元素,计算体中的c:out动作,并且该计算的结果包括在体中的字符串直接量值。

就像你预想的那样,JSTL进行异常处理有点早。在典型的JSP页中,你有两种异常处理的方法:试图/捕捉直接嵌入到页中的小脚本代码中的块;或者用一个JSP errorPage指令。JSP errorPage指令提供一个良好的捕捉所有异常的方法来处理页中任何可能的异常。JSTL用一个c:catch动作提供一个好的可选择的方式。这个c:catch动作提供一个更细粒度的有效方法来处理异常。而且没有嵌入Java代码到页中。一个c:catch动作是这样的:

<c:catch> <!--. . . some set of nested JSTL tags below which would be hit on an exception--></c:catch>

c:catch动作有一个可选的属性,即一个指向抛出异常的变量。

你可能不怎么愿意使用c:remove标记。这个标记有用于变量名和范围的属性,并且可从指定的范围内删除指定的变量。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索转化异常
, 变量
, 标记
, 属性
, 前缀
, 动作
一个
jstl 简化、jsp 页面引入 jstl、jsp jstl、jsp引入jstl标签库、jsp引入jstl,以便于您获取更多的相关知识。

时间: 2024-10-04 00:43:45

JSTL改进JSP来简化网页的实现过程(2)的相关文章

JSTL改进JSP来简化网页的实现过程(3)

js|过程|网页 流程控制 让我们转为讨论JSTL的流程控制和条件标记.如果你已经用任何一种语言使用了条件和流程控制语句,理论上这里没什么新鲜的东西. c:if动作处理简单条件语句的测试.计算测试属性中的Boolean表达式的值,如果表达式为真的话,计算体的内容.在下面的动作中,我们也说明了备选项var属性.为了以后的使用,var属性保存测试结果在页(如果没有指定其他scope属性的话)中. <c:if test="${status.totalVisits == 1000000}"

JSTL改进JSP来简化网页的实现过程(1)

js|过程|网页 概述 Java Server Pages (JSP) 标准标记库 (JSTL)的版本的发布对于JSP/servlet开发者来说是一个重大的进展.有了一个表达语言(EL)和一组四种强大的.易于学习的标准标记库,JSTL极有可能不久后成为实现动态的.基于Java的站点的主要方法. 1996年对JSP servlet的介绍使得Java成为动态网页开发的合理的选择.随后出现的Java服务器页(JSP)是走向快速的.可维护的Java网页实现过程的合理进化的一步,紧接着就出现了JSP标记的

JSTL改进JSP来简化网页的实现过程(4)

js|过程|网页 格式标记库:格式动作 如果你已经使用了Java的 DateFormat 和NumberFormat类,在下面的标记中使用的方法应该看起来眼熟,因为JSTL格式化动作是在这些类之上建立的.这些Java类普遍提供一个format( )函数,它将一个Java类型转化为一个格式化的String和创建对应于该String的Java对象. fmt:formatNumber动作有一个value属性和一个pattern属性.value属性是一个与我们吹降钠渌黺alue属性类似的EL表达式或者变

jsp开发的网页在微信公众平台上显示的内容全在左边,右边是空的

问题描述 jsp开发的网页在微信公众平台上显示的内容全在左边,右边是空的 用myeclipse开发的微网页,其实也就是网页,使用jsp编写的页面,在内部是 这些元素:因为这个项目是要放在手机里访问的,所以在电脑上很正常,但是一放到手机上,打开网页链接,所有的内容都在手机屏幕的左侧,右边是空的,但是像 这些标题元素却能正常显示,求大神解答啊~~~ 解决方案 手机里面的商户html5,控件是js控制,自适应的

简化网页 优化WEB应用的方法

web|网页|优化 在最近的项目中,我发现许多过于臃肿的网页.对于内联网中的网站而言,这一般不会造成什么问题.不过,当你通过互联网向外发布网页时,性能可能是我们关心的主要问题--毕竟,多数用户并非通过高速连接访问网站.本周,我来分析一下优化WEB应用的方法. 常见问题与可能的优化方案 加载网页的时间过长,这仅仅是WEB用户的常见投诉之一,但这也是最明显的问题.WEB开发者的主要问题在于:他们认为自己的平台满足一个目标用户群.但用户的计算机配置与互联网连接速度各不相同,所以开发者应能满足用户的最低

如何简化网页优化WEB应用

web|网页|优化 在最近的项目中,我发现许多过于臃肿的网页.对于内联网中的网站而言,这一般不会造成什么问题.不过,当你通过互联网向外发布网页时,性能可能是我们关心的主要问题--毕竟,多数用户并非通过高速连接访问网站.本周,我来分析一下优化WEB应用的方法. 常见问题与可能的优化方案 加载网页的时间过长,这仅仅是WEB用户的常见投诉之一,但这也是最明显的问题.WEB开发者的主要问题在于:他们认为自己的平台满足一个目标用户群.但用户的计算机配置与互联网连接速度各不相同,所以开发者应能满足用户的最低

网站建设技术:简化网页设计 提高用户体验

在设计领域中,很多人都认同应该简化设计,以便让相应的工作更好发挥作用,设计只是增强视觉的手段. 随着网站建设技术的发展,在网页中实现复杂的功能不再是难事,网页中功能越来愈多,因此要在用户的浏览体验和网页设计的美观性中取得一个平衡点就显得非常重要. 网页设计的简化法 不同人对网页设计简化法会有不同的定义.一个简单的定义是将复杂的东西浓缩简化成简单的东西,当然在简化的同时,不能丢掉有价值的东西.总而言之,如果你的网页设计很臃肿庞大,最好去精简它. 在具体的网页设计中,可能是将网站分成几个部分,并使它

简化网页使内容更具可读性的几种方法

  很多时候,设计不可避免的会变得复杂.因为按照客户的要求去设计,往往会添加大量元素,使得页面变得较为臃肿,内容过载,让人难以理解,因此我们就需要通过设计手段,来个网页"减负". 作为设计师,我们懂得如何有创意的解决客户的问题.问题是什么并不重要,无论是为客户设计响应式网站,还是通过设计吸引用户,增加客户的销售量,重要的是网页的核心元素,通过手段凸显这些元素,让网站更好的工作,更好的服务客户.用户.给网站"减负"就是个不错的方法. 如何让界面看起来更直观.不含&qu

java-如何在输入XXX/index.jsp加载网页前进入Action获取数据

问题描述 如何在输入XXX/index.jsp加载网页前进入Action获取数据 进入Index.jsp时 里面有需要从后台获取的数据然后显示,所以进入这个页面时不先到Action获取数据再跳转回来就会报错 请问怎么解决! 解决方案 写js,页面加载时就发ajax请求到后台,然后前端得到数据,写js给页面的元素赋值 解决方案二: 在struts里面配置好,在action加载完你想加载的数据之后,返回SUCCESS或者你指定的返回结果,这个时候通过配置文件自动会跳转到XXX/index.jsp 解