学习了struts的tiles布局管理,顺便把思路整理下吧..
首先说下布局管理。布局管理器有助于创建复合式的复杂界面,一个复合式界面由一些简单的基本界面组成(java awt/java swing)。有以下优点:
可重用性:基本界面可以被重用,组合成各种不同的复合式界面
可扩展性:可以方便的扩展基本界面,从而创建更复杂的界面(其实此处我的感觉并非如此,可扩展性并不是为了创建复杂界面的,越是复杂的界面在比较独立的情况下更容易创建。)
可维护性:每个基本界面之间相互独立,当复合式界面中的局部区域发生变化,不会影响其它区域
显然,tiles是针对struts开发时,对页面的布局管理。它能将网页的布局和内容分离。它允许先创建模板,然后在运行时动态地将内容插入到模板中。
一、导入struts-tiles.tld标签
二、定义自己的tiles-defs.xml插件,内容如下:
<tiles-definitions>
<definition name="name" path="/tiles/base.jsp">
<put name="title" value="title title title"></put>
<put name="head" value="/tiles/head.jsp"></put>
<put name="body" value="/tiles/body.jsp"></put>
<put name="left" value="/tiles/left.jsp"></put>
<put name="right" value="/tiles/right.jsp"></put>
<put name="foot" value="/tiles/foot.jsp"></put>
</definition>
</tiles-definitions>
三、struts-config.xml引入插件:
<plug-in className="org.apache.struts.tiles.TilesPlugin">
<set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />
<set-property property="moduleAware" value="true" />
</plug-in>
四、在base.jsp布局文件里布局,使用<tiles:insert attribute="left" ignore="true"/>引用在tiles-defs.xml里定义的jsp文件
五、建立显示的页面,如index.jsp 。里面如:
<tiles:insert page="/tiles/base.jsp" flush="true">
<tiles:put name="title" value="title title title"></tiles:put>
<tiles:put name="head" value="/tiles/head.jsp"></tiles:put>
<tiles:put name="body" value="/tiles/body.jsp"></tiles:put>
<tiles:put name="left" value="/tiles/left.jsp"></tiles:put>
<tiles:put name="right" value="/tiles/right.jsp"></tiles:put>
<tiles:put name="foot" value="/tiles/foot.jsp"></tiles:put>
</tiles:insert>
实现到此结束,它还有如下优点:
创建可重用的模板
动态构建和装载页面
定义可重用的Tiles组
支持国际化
还有一点,在web.xml里配置actionServlet。因为web在启动时,actionServlet加载所有插件。
<definition name="name" extends="name">//继承这个
首先说下布局管理。布局管理器有助于创建复合式的复杂界面,一个复合式界面由一些简单的基本界面组成(java awt/java swing)。有以下优点:
可重用性:基本界面可以被重用,组合成各种不同的复合式界面
可扩展性:可以方便的扩展基本界面,从而创建更复杂的界面(其实此处我的感觉并非如此,可扩展性并不是为了创建复杂界面的,越是复杂的界面在比较独立的情况下更容易创建。)
可维护性:每个基本界面之间相互独立,当复合式界面中的局部区域发生变化,不会影响其它区域
显然,tiles是针对struts开发时,对页面的布局管理。它能将网页的布局和内容分离。它允许先创建模板,然后在运行时动态地将内容插入到模板中。
一、导入struts-tiles.tld标签
二、定义自己的tiles-defs.xml插件,内容如下:
<tiles-definitions>
<definition name="name" path="/tiles/base.jsp">
<put name="title" value="title title title"></put>
<put name="head" value="/tiles/head.jsp"></put>
<put name="body" value="/tiles/body.jsp"></put>
<put name="left" value="/tiles/left.jsp"></put>
<put name="right" value="/tiles/right.jsp"></put>
<put name="foot" value="/tiles/foot.jsp"></put>
</definition>
</tiles-definitions>
三、struts-config.xml引入插件:
<plug-in className="org.apache.struts.tiles.TilesPlugin">
<set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />
<set-property property="moduleAware" value="true" />
</plug-in>
四、在base.jsp布局文件里布局,使用<tiles:insert attribute="left" ignore="true"/>引用在tiles-defs.xml里定义的jsp文件
五、建立显示的页面,如index.jsp 。里面如:
<tiles:insert page="/tiles/base.jsp" flush="true">
<tiles:put name="title" value="title title title"></tiles:put>
<tiles:put name="head" value="/tiles/head.jsp"></tiles:put>
<tiles:put name="body" value="/tiles/body.jsp"></tiles:put>
<tiles:put name="left" value="/tiles/left.jsp"></tiles:put>
<tiles:put name="right" value="/tiles/right.jsp"></tiles:put>
<tiles:put name="foot" value="/tiles/foot.jsp"></tiles:put>
</tiles:insert>
实现到此结束,它还有如下优点:
创建可重用的模板
动态构建和装载页面
定义可重用的Tiles组
支持国际化
还有一点,在web.xml里配置actionServlet。因为web在启动时,actionServlet加载所有插件。
<definition name="name" extends="name">//继承这个