昨天,做了struts的titles框架,感觉就像是在用frameset一样,还比较好用.
首先,应该自己写一个定义titles组件的xml配置:
tiles-defs.xml
内容如下:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
<tiles-definitions>
<definition name="sidebar-definition"
path="/titles/sidebar-layout.jsp">
<put name="top" value="/titles/flags.jsp"/>
<put name="bottom" value="/titles/sidebar-links.jsp"/>
</definition>
<definition name="base-definition"
path="/titles/layout.jsp">
<put name="sidebar" value="sidebar-definition" type="definition"/>
<put name="header" value="/titles/header.jsp"/>
<put name="content" value="/titles/indexContent.jsp"/>
<put name="footer" value="/titles/footer.jsp"/>
</definition>
<definition name="index-definition"
extends="base-definition">
<put name="content" value="/titles/indexContent.jsp"/>
</definition>
<definition name="product-definition"
extends="base-definition">
<put name="content" value="/titles/productContent.jsp" />
</definition>
<definition name="link-definition"
extends="base-definition">
<put name="content" value="/titles/linkContent.jsp"/>
</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="definitions-parser-validate" value="true" />
</plug-in>
页面中的实现,用
<tiles:insert definition="index-definition"/>
<tiles:insert attribute="content"/>
来引入将要插入的页面.就可以了.