Struts Tiles的使用
作者:admin 日期:2007-12-26
版权所有,欢迎转载,转载请注明转自http://www.suneca.com
Struts Tiles是一个非常有名的布局管理器,它是jsp include的一种非常好的一个代替技术。它提供了一个模板的功能,并且,模板可以继承。以前使用jsp include的时候,虽然可以达到页面的共用,但它还是一些不足之处,比如,对于页面布局需要改动或网站信息需要做调整的情况下,它维护起来比较麻烦。
首先,我们先创建一个Struts工程,接着,我们需要让Struts加载Tiles插件,Struts的Tiles技术跟Struts Validation技术相似,它们都需要通过插件方式进行扩展。struts-config.xml文件配置如下:
程序代码
第二步,创建一个tiles-defs.xml文件,该文件是tiles的配置文件,文件名可以任意取,但是要跟struts-config.xml的配置信息相符
程序代码
对于需要扩展,我们只需要定义一个新的布局,然后对全局的布局进行扩展即可。而在struts-config.xml文件当中,action的forward不再是forward到一个页面,而是forward到一个布局,这一点要注意。
第三步,定义/indextiles.jsp模板文件,模板文件配置如下:
程序代码
在这个jsp文件我们可以看到,我们只需要将相应的页面使用tiles的标签将其导进来即可。
版权所有,欢迎转载,转载请标明转自http://www.suneca.com
Struts Tiles是一个非常有名的布局管理器,它是jsp include的一种非常好的一个代替技术。它提供了一个模板的功能,并且,模板可以继承。以前使用jsp include的时候,虽然可以达到页面的共用,但它还是一些不足之处,比如,对于页面布局需要改动或网站信息需要做调整的情况下,它维护起来比较麻烦。
首先,我们先创建一个Struts工程,接着,我们需要让Struts加载Tiles插件,Struts的Tiles技术跟Struts Validation技术相似,它们都需要通过插件方式进行扩展。struts-config.xml文件配置如下:
程序代码<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<data-sources />
<form-beans />
<global-exceptions />
<global-forwards />
<action-mappings>
<!-- forward的值即为布局管理所定义的布局名称 -->
<action path="/indextilesdemo" forward="zizz.tiles.mainLayout"/>
<action path="/indextilesdemo2" forward="zizz.tiles.specialLayout"/>
</action-mappings>
<message-resources parameter="zizz.tiles.ApplicationResources" />
<!-- 添加Tiles插件,以便让Struts在启动的时候,自动初始化Tiles插件 -->
<plug-in className="org.apache.struts.tiles.TilesPlugin" >
<!-- Path to XML definition file -->
<set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />
<set-property property="moduleAware" value="true" />
</plug-in>
</struts-config>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<data-sources />
<form-beans />
<global-exceptions />
<global-forwards />
<action-mappings>
<!-- forward的值即为布局管理所定义的布局名称 -->
<action path="/indextilesdemo" forward="zizz.tiles.mainLayout"/>
<action path="/indextilesdemo2" forward="zizz.tiles.specialLayout"/>
</action-mappings>
<message-resources parameter="zizz.tiles.ApplicationResources" />
<!-- 添加Tiles插件,以便让Struts在启动的时候,自动初始化Tiles插件 -->
<plug-in className="org.apache.struts.tiles.TilesPlugin" >
<!-- Path to XML definition file -->
<set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />
<set-property property="moduleAware" value="true" />
</plug-in>
</struts-config>
第二步,创建一个tiles-defs.xml文件,该文件是tiles的配置文件,文件名可以任意取,但是要跟struts-config.xml的配置信息相符
程序代码<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
"http://struts.apache.org/dtds/tiles-config_1_1.dtd">
<tiles-definitions>
<definition name="zizz.tiles.mainLayout" path="/indextiles.jsp">
<description>首页的布局管理</description>
<put name="title" type="string" value="使用STRUTS TILES做为布局管理" />
<put name="top" value="/top.jsp" />
<put name="menu" value="/menu.jsp" />
<put name="content" value="/content.jsp" />
<put name="bottom" value="/bottom.jsp" />
</definition>
<definition name="zizz.tiles.specialLayout" extends="zizz.tiles.mainLayout">
<put name="content" value="/content2.jsp"/>
</definition>
</tiles-definitions>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
"http://struts.apache.org/dtds/tiles-config_1_1.dtd">
<tiles-definitions>
<definition name="zizz.tiles.mainLayout" path="/indextiles.jsp">
<description>首页的布局管理</description>
<put name="title" type="string" value="使用STRUTS TILES做为布局管理" />
<put name="top" value="/top.jsp" />
<put name="menu" value="/menu.jsp" />
<put name="content" value="/content.jsp" />
<put name="bottom" value="/bottom.jsp" />
</definition>
<definition name="zizz.tiles.specialLayout" extends="zizz.tiles.mainLayout">
<put name="content" value="/content2.jsp"/>
</definition>
</tiles-definitions>
对于需要扩展,我们只需要定义一个新的布局,然后对全局的布局进行扩展即可。而在struts-config.xml文件当中,action的forward不再是forward到一个页面,而是forward到一个布局,这一点要注意。
第三步,定义/indextiles.jsp模板文件,模板文件配置如下:
程序代码<%@ page contentType="text/html; charset=GBK"%>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title><tiles:insert name="title"/></title>
</head>
<body>
<tiles:insert name="top"/>
<tiles:insert name="menu"/>
<tiles:insert name="content"/>
<tiles:insert name="bottom"/>
</body>
</html>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title><tiles:insert name="title"/></title>
</head>
<body>
<tiles:insert name="top"/>
<tiles:insert name="menu"/>
<tiles:insert name="content"/>
<tiles:insert name="bottom"/>
</body>
</html>
在这个jsp文件我们可以看到,我们只需要将相应的页面使用tiles的标签将其导进来即可。
版权所有,欢迎转载,转载请标明转自http://www.suneca.com
[本日志由 admin 于 2008-04-21 11:29 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: Struts Tiles sitemesh
相关日志:
文章来自: 本站原创
Tags: Struts Tiles sitemesh
相关日志:
评论: 0 | 引用: 0 | 查看次数: 2890
发表评论
上一篇
下一篇
