JSP模板应用指南(上)
来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 17:51 点击:次
Window 工具包提供了一种典型的布局机制,比如说在一个容器中确定部件元素的位置。在AWT 和 Swing都有布局管理器,而在VisualWorks Smalltalk中有wrapper。本文将介绍一种jsp(SUN企业级应用的首选)模板机制,它允许布局被封装和重新利用。jsp(SUN企业级应用的首选)模板最小化了布局改变所造成的影响,这里我们将鼓励大家采用封装模块化设计。
尽管 Web开发工具的改进非常迅速,但是它们仍然落后于图形用户界面(GUI)工具包(Swing 和 VisualWorks Smalltalk)。例如,在传统的GUI工具包中提供了布局管理器,在一个窗体或另一个窗体中,允许布局运算被封装和重新利用。本文介绍的这种jsp(SUN企业级应用的首选)模板机制,就象布局管理器一样,可以封装布局,所以它能够被重新利用而不只是复制使用。
由于在布局的发展过程中出现了许多的变化,而对功能的封装是非常重要的一步,它能够被自如修改而做到对其他应用的影响最小。
jsp(SUN企业级应用的首选)没有提供对封装布局的直接支持,所以具有统一格式的网页通常可以复制布局代码;例如,在图1中,显示了一个网页,它包含了标题、页脚、工具条以及页面的主要内容。
图1.网页布局 点击放大(22 KB)
在图1中显示的网页布局将以HTML表格标签来执行:
例1.包含内容:
<html><head><title>jsp(SUN企业级应用的首选)templates</title></head>
<body background=graphics/background.jpg>
<table>
<tr valign=top><td><%@include file=sidebar.html%></td>
<td><table>
<tr><td><%@include file=header.html%></td></tr>
<tr><td><%@include file=introduction.html%></td></tr>
<tr><td><%@include file=footer.html%></td></tr>
</table>
</td>
</tr>
</table>
</body></html>
在上面的例子中,包括了jsp(SUN企业级应用的首选) include 命令,它允许页面内容改变——通过改变包含的文件——无须修改网页自身。不过,由于布局是很难被编码的,布局改变需要对网页进行修改。如果一个网站有多个相同格式的页面,那么一般情况下甚至简单布局的改变也涉及到整个页面的修改。
为了减少布局改变所造成的影响,我们需要一种仅仅只包含布局的机制;采用这种机制,布局和内容都可以在不修改文件的情况下分开进行修改。这种机制就是jsp(SUN企业级应用的首选)模板。
使用模板
模板是一种jsp(SUN企业级应用的首选)文件,它包含了参数化了的内容。这里所讨论的模板使用的是一套定制化标签来执行的:template:get,template:put和template:insert。template:get 标签访问参数化的内容,就象在例 2.a中的一样,它将和图 1一样的格式来生成网页。
例 2.a.一个模板
<%@taglib uri=/WEB-INF/tlds/template.tld prefix=template %>
<html><head><title><template:get name=title/></title></head>
<body background=graphics/background.jpg>
<table>
<tr valign=top><td><template:get name=sidebar/></td>
<td><table>
<tr><td><template:get name=header/></td></tr>
<tr><td><template:get name=content/></td></tr>
<tr><td><template:get name=footer/></td></tr>
</table>
</td>
</tr>
</table>
</body></html>
例 2.a几乎与例1完全一样,不过在例2.a中我们使用了template:get 取代了例1中的include 命令.让我们来分析一下template:get 如何运行。
template:get 使用了一个专门的名字(在请求的范围内)来对一个Java Bean进行修改。Bean包含了URI (统一资源标志符,网页的一个组件,它包含在template:get中)。例如,在例 2.a的模板列表中,template:get 获得了一个URI——header.html——从一个名为header 的
尽管 Web开发工具的改进非常迅速,但是它们仍然落后于图形用户界面(GUI)工具包(Swing 和 VisualWorks Smalltalk)。例如,在传统的GUI工具包中提供了布局管理器,在一个窗体或另一个窗体中,允许布局运算被封装和重新利用。本文介绍的这种jsp(SUN企业级应用的首选)模板机制,就象布局管理器一样,可以封装布局,所以它能够被重新利用而不只是复制使用。
由于在布局的发展过程中出现了许多的变化,而对功能的封装是非常重要的一步,它能够被自如修改而做到对其他应用的影响最小。
jsp(SUN企业级应用的首选)没有提供对封装布局的直接支持,所以具有统一格式的网页通常可以复制布局代码;例如,在图1中,显示了一个网页,它包含了标题、页脚、工具条以及页面的主要内容。
图1.网页布局 点击放大(22 KB)
在图1中显示的网页布局将以HTML表格标签来执行:
例1.包含内容:
<html><head><title>jsp(SUN企业级应用的首选)templates</title></head>
<body background=graphics/background.jpg>
<table>
<tr valign=top><td><%@include file=sidebar.html%></td>
<td><table>
<tr><td><%@include file=header.html%></td></tr>
<tr><td><%@include file=introduction.html%></td></tr>
<tr><td><%@include file=footer.html%></td></tr>
</table>
</td>
</tr>
</table>
</body></html>
在上面的例子中,包括了jsp(SUN企业级应用的首选) include 命令,它允许页面内容改变——通过改变包含的文件——无须修改网页自身。不过,由于布局是很难被编码的,布局改变需要对网页进行修改。如果一个网站有多个相同格式的页面,那么一般情况下甚至简单布局的改变也涉及到整个页面的修改。
为了减少布局改变所造成的影响,我们需要一种仅仅只包含布局的机制;采用这种机制,布局和内容都可以在不修改文件的情况下分开进行修改。这种机制就是jsp(SUN企业级应用的首选)模板。
使用模板
模板是一种jsp(SUN企业级应用的首选)文件,它包含了参数化了的内容。这里所讨论的模板使用的是一套定制化标签来执行的:template:get,template:put和template:insert。template:get 标签访问参数化的内容,就象在例 2.a中的一样,它将和图 1一样的格式来生成网页。
例 2.a.一个模板
<%@taglib uri=/WEB-INF/tlds/template.tld prefix=template %>
<html><head><title><template:get name=title/></title></head>
<body background=graphics/background.jpg>
<table>
<tr valign=top><td><template:get name=sidebar/></td>
<td><table>
<tr><td><template:get name=header/></td></tr>
<tr><td><template:get name=content/></td></tr>
<tr><td><template:get name=footer/></td></tr>
</table>
</td>
</tr>
</table>
</body></html>
例 2.a几乎与例1完全一样,不过在例2.a中我们使用了template:get 取代了例1中的include 命令.让我们来分析一下template:get 如何运行。
template:get 使用了一个专门的名字(在请求的范围内)来对一个Java Bean进行修改。Bean包含了URI (统一资源标志符,网页的一个组件,它包含在template:get中)。例如,在例 2.a的模板列表中,template:get 获得了一个URI——header.html——从一个名为header 的
相关新闻>>
- 发表评论
-
- 最新评论 更多>>