《深入浅出struts2》--第二十四章,Tiles插件

Tiles提供一个标签库可以让程序员创建一个jsp布局页面来定义应用程序里所有页面的布局。只要在jsp布局页面里做出修改,就可以让引用了这个布局页面的所有其他jsp页面都发生相应改观。

1,布局页面:是专门用来定义页面布局的模板性jsp页面。

2,Tiles定义:布局页面与使用该布局页面的jsp页面之间的一个“夹层”。每个Tiles定义对应一个视图,可以是jsp页面或velocity、freemarker模板。Tiles布局页面类比接口,那么Tiles定义页面则为实现这个接口的基类。一个jsp页面可以引用一个定义页面而非布局页面。而jsp引用页面则“使用”这个jsp定义页面。Tiles定义页面tiles.xml放在web-inf/lib下。

3,使用注意事项:

(1),需要导入的jar:

tiles-core-version.jar,tiles-api-version.jar,tiles-jsp-version.jar,struts2-tiles-plugin-version.jar。经过demo测试,发现还需要导入,commons-digester.jar,commons-beanutils.jar

(2),需要在web.xml注册监听StrutsTilesListener.java

〈listener〉

          〈listener-class〉

                    这个监听类的完全限定名

           〈/listener-class〉

〈/listener〉

(3),声明tiles结果类型

方式一:

在struts-plugin.xml文件进行结果类型声明

〈package name=“tiles-default” extends=“struts-default”〉

       〈result-types〉 

           〈result-type name=“tiles” class=“…….TilesResult”/〉

       〈/result-types〉

  〈/package〉

然后在web.xml文件的某个package直接继承tiles-default,既可使用这个结果类型。

方式二:

直接在web.xml某个package中声明这个结果类型。

(4),在动作里可以使用这个结果类型啦。

并且这些动作的结果对应的不是jsp页面,而是tiles.xml文件中Tiles定义中的某个定义。

(5),Tiles定义文件tiles.xml

dtd限定是

〈!DOCTYPE tiles-definitions PUBLIC 

            “-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN”

            “http://struts.apache.org/dtds/tiles-config_2_0.dtd”

〈tiles-definitions〉

   〈definition name=“Product” template=“/jsp/MyLayout.jsp”〉 //此为模板jsp

       〈put-attribute    name=“pageTitle”  value=“网页标题”/〉

       〈put-attribute    name=“header”  value=“/jsp/Header.jsp”/〉

       〈put-attribute    name=“body”  value="/jsp/Product.jsp”/〉

       〈put-attribute   name=“footer”  value=“/jsp/Footer.jsp”〉

   〈/definition〉

〈/titles-definitions〉

//只定义了一个Tiles定义:Product

(6)模板jsp页面

〈tiles:insertAttribute name=“header”〉

〈tiles:insertAttribute name=“body”〉

〈tiles:insertAttribute name=“footer”〉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值