Struts1.x系列教程(23):使用Tiles模板进行布局 - 编程入门网
<tiles:put name="body" value="body.jsp"/>
<tiles:put name="footer" value="footer.jsp"/>
</tiles:insert>
Struts1.x系列教程(23):使用Tiles模板进行布局(2)时间:2011-01-10 BlogJava 银河使者从mypage.jsp页面中可以看出,在<tiles:insert>标签中通过page属性插入了layout.jsp页面(也就是Tiles模板),并且在<tiles:insert>标签中使用了< tiles:put>子标签为layout.jsp页面中的占位标签指定参数值。如果是<tiles:getAsString>标签,就会将<tiles:put>标签中的value属性值解释为字符串;如果是<tiles:insert>标签,就会将< tiles:put>标签中的value属性值解释为Web资源。大家可以看到,如果有多个使用layout.jsp模板的JSP页面,都可以按着 mypage.jsp页面的方式使用这个layout.jsp模板,而无须再重复编写象table这样的HTML元素。 在启动Tomcat后,我们可以使用如下两个URL来测试程序:
注意:由于<tiles:insert>和<jsp:include>标签类似,被插入或包含的Web资源都无法改面当前页面的字符集编码,因此,在使用Tiles模板时,即使在当前页没有使用中文,也应该使用page指令设置相应的字符集编码。如果没有设置,当模板页面中有中文字符时,即使模板页面使用了正确的字符集编码,在当前页面仍然无法正常显示中文字符。 上面曾讲过,Tiles框架的目的就是最大限度地避免重复编写代码。而上面的例子虽然已经基本上避免了重复编码的工作,但仍然可能会存在一些重复的代码。如在mypage.jsp页面中的<tiles:put>标签。如果有很多页面都需要插件页头、页尾,那么就会有很多插入相同页面的<tiles:put>标签被分布在不同的JSP页面中。因此,Tiles框架又提供了一个定义文件,来定义些重复使用的Tiles标签。在使用定义文件之前,需要首先安装Tiles插件(如果不使用定义文件,是不需要安装Tiles插件的)。 下面我们来将上面的部分代码放到定义文件中。在WEB-INF目录中建立一个tiles-defs.xml文件,代码如下: 在上面的代码中定义了一个<definition>元素。并且使用< put>元素对四个属性:title、header、body和footer赋值。因此,如果使用这个定义文件,就可以无需使用< tiles:put>标签再赋一遍值了。在Web根目录中建立一个newpage.jsp文件,代码如下:
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |