<%@page contentType="text/html; charset=GBK"%>
<%@taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>
<%@taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<html>
<title>
<tiles:getAsString name="title"/>
</title>
<!--
  NO BOTS ARE ALLOWED ON THIS SERVICE.  IF YOU RUN ONE HERE, IT WILL
  BE BLOCKED AND YOUR IP WILL BE PERMANENTLY BANNED. ABUSE WILL NOT BE
  TOLERATED.
-->
</head>
<tiles:insert attribute="header"/>
<body class="normalword">
<table border="0" width="90%" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td width="20%" align="left" valign="top">
      <tiles:insert attribute="sider"/>
    </td>
    <td width="80%" valign="top" align="left">
      <table width="100%" border="0" cellpadding="5" cellspacing="5">
        <tr>
          <td>
            <table width="100%" border="0" cellpadding="0" cellspacing="0">
              <tbody>
                <tr>
                  <td width="100%">
                    <tiles:insert attribute="body"/>
                  </td>
                </tr>
                <tr>
                  <td width="100%">                  </td>
                </tr>
                <tr>
                  <!--id=content-indent-td-->
                  <td>                  </td>
                </tr>
              </tbody>
            </table>
          </td>
        </tr>
</tbody>      </table>
    </td>
  </tr>
</table>
<tiles:insert attribute="footer"/>
<!--
  NO BOTS ARE ALLOWED ON THIS SERVICE.  IF YOU RUN ONE HERE, IT WILL
  BE BLOCKED AND YOUR IP WILL BE PERMANENTLY BANNED. ABUSE WILL NOT BE
  TOLERATED.
-->
</body>
</html>
<!-- jspinfo:info text='$Id: layout.jsp,v 1.4 2005/08/29 00:59:13 administrator Exp $'/-->
然后定义相应的header footer body
<?xml version="1.0" encoding="UTF-8"?>
<!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="baseDef" path="/main/layout.jsp">
    <put name="header" value="/main/header.jsp"/>
    <put name="footer" value="/main/footer.jsp"/>
    <put name="sider" value="/main/sider.jsp"/>
    <put name="body" value=""/>
  </definition>
  <definition name="this.welcome" extends="baseDef">
    <put name="title" value="title"/>
    <put name="body" value="/main/Welcome.jsp"/>
  </definition>
 </tiles-definitions>
我用的就是最简单的 不过我觉得tiles不怎么好 每次都要重新刷新各个模块
很郁闷。

解决方案 »

  1.   

    个人觉得使用Tiles在做企业运用的时候可能不如在做网站那样更能体现优越性。但在系统开始
    设计的时候考虑并规划好整个UI,那在修改和维护的时候将节省不少的工作量,因为通常UI的确定
    在代码编写结束和完成,所有尽可能的使用多个子页面构成一个页面,后面的美化和维护就比直接
    维护一个很大的页面容易。
      

  2.   

    有时候觉的tiles用起来也不是很方便 不知道大家有没有同感
      

  3.   

    老实讲我觉得tiles蛮蹩脚的,虽说是网页布局比较方便,但是对于一些公众网站,用tiles并不适合,那种网站要求页面够花哨(国内的现状),而用tiles非常容易使页面变死,更加大页面设计的难度。对于一些企业内部网站倒是还蛮适合的。具体的使用,我一般的命名规范就是模块名+"_"+功能名,一般是先定义一个基础模板,然后每个模块的模板继承这个基础模板,而每个模块的具体功能又继承每个模块自己的模板。不过感觉用起来不爽,不喜欢用。