Tiles是一个Template Engine,它可以让网页的配置(Layout)标签与内容分离,提一个版面管理机制。
在网页上最常用来处理版面的是表格,透过将表格边框设定为0,可以用它来切割版面,并在当中置入内容,然而一大堆版面配置的标签将与内容夹杂在一起(个人就不太喜欢处理表格的标签:(),如果以后要更改内容或版面配置,会是一个麻烦。
在视窗程式的设计中存在有版面管理员(Layout Manager)机制,我们可以选择一个版面管理机制,之后直接在视窗容器上添加元件而不用处理版面配置细节,而由版面管理员来自己处理元件的版面配置,如果想要改变版面配置,则只要直接更换版面管理员,所有的元件将自动依新的管理员而重新配置版面。
Tiles提供一个类似于视窗程式版面管理的机制,透过定义档,您可以定义版面配置,以及当中所要置入的内容网页,内容与版面配置的标签可以分离,您可以随时抽换每一个内容网页,也可以重用每一个版面配置。
Tiles提供一个类似于视窗程式版面管理的机制,透过定义档,您可以定义版面配置,以及当中所要置入的内容网页,内容与版面配置的标签可以分离,您可以随时抽换每一个内容网页,也可以重用每一个版面配置。
在Struts 1.1中,Tiles随著它一同发布,您可以直接从struts-blank中开始设定,当中已经包括了Tiles必要的档案与设定,如果您要自行设定Tiles,您必须要有commons-beanutils.jar、commons-logging.jar、commons-collections.jar、commons-digester.jar、struts.jar四个档案在您的WEB-INF/lib目录中,
在Struts 1.1中,Tiles随著它一同发布,您可以直接从struts-blank中开始设定,当中已经包括了Tiles必要的档案与设定,如果您要自行设定Tiles,您必须要有commons-beanutils.jar、commons-logging.jar、commons-collections.jar、commons-digester.jar、struts.jar四个档案在您的WEB-INF/lib目录中,
第一:并且在struts-config.xml中加入以下的内容:
<plug-in className="org.apache.struts.tiles.TilesPlugin" >
<set-property property="definitions-config"
value="/WEB-INF/conf/tiles-defs.xml" />
<set-property property="moduleAware" value="true" />
<set-property property="definitions-parser-validate" value="true" />
</plug-in>
在Struts 1.1中,您只要使用PlugIn就可以挂上Tiles的功能,而不用再定义您的ActionServlet,definitions-config属性中的tiles-defs.xml是Tiles的定义档,Tiles提供了一个处理请求的RequestProcessor,可以进行一些forward与include的额外动作,在struts-config.xml中预设是使用它:
代码:
<controller
processorClass="org.apache.struts.tiles.TilesRequestProcessor"/>
这两个在struts-config.xml加入的位置,您可以参考struts-blank中的设定;
这两个在struts-config.xml加入的位置,您可以参考struts-blank中的设定;
最后,您要将struts-tiles.tld放置在WEB-INF/tld下,并在web.xml中定义,这样可以使用Tiles标签,例如在web.xml中是这么设定的:
代码:
<taglib>
<taglib-uri>/tags/struts-tiles</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-tiles.tld</taglib-location>
</taglib>
完成以上之后,您就可以使用Tiles的功能了,Tiles的定义档可以使用XML或JSP页面来完成,这将在之后的主题中加以说明。 有时间将会把后面的主题内容呈给大家。
完成以上之后,您就可以使用Tiles的功能了,Tiles的定义档可以使用XML或JSP页面来完成,这将在之后的主题中加以说明。 有时间将会把后面的主题内容呈给大家。