Struts Tiles框架实例

本文介绍如何使用 Struts Tiles 框架实现网页布局管理,包括配置文件设置、页面组件划分及通过 Action 调用 Tiles 示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
  1. Struts Tiles框架实例
  2. 网上的例子很多我自己顺便总结了一下希望给大家作为参考...
  3. 首先 在WEB-INF下建立 "tiles-defs.xml"
  4. <?xml version="1.0" encoding="GB2312" ?>
  5. <!DOCTYPE tiles-definitions PUBLIC
  6.        "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
  7.        "http://jakarta.apache.org/struts/dtds/tiles-config.dtd">
  8. <tiles-definitions>
  9.     <definition name="index-definition" template="/layout.jsp">
  10.         <put name="title" value="爬爬" />
  11.         <put name="header" value="/tiles/header.jsp" />
  12.         <put name="menu" value="/tiles/menu.jsp" />
  13.         <put name="body" value="/tiles/cBody.jsp" />
  14.         <put name="footer" value="/tiles/footer.jsp" />
  15.     </definition>
  16.         <definition name="sub-page" extends="index-definition">
  17.     <put name="test" value="/tiles/test.jsp" />   
  18.     <!--以上元素表示在继承主页面的基础上增加子页面-->
  19.     </definition>
  20. </tiles-definitions>
  21. 以上的子jsp页面先建立tiles文件夹在WebRoot下,然后把那些jsp子页面放在该文件夹下
  22. struts-config.xml:
  23. <?xml version="1.0" encoding="UTF-8"?>
  24. <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 
  25. 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
  26. <struts-config>
  27.   <data-sources />
  28.   <form-beans />
  29.   <global-exceptions />
  30.   <global-forwards />
  31.   <action-mappings />
  32.   <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
  33.   <plug-in className="org.apache.struts.tiles.TilesPlugin" >
  34.   <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />
  35.   <set-property property="definitions-parser-validate" value="true" />
  36. </plug-in>
  37. </struts-config>
  38. TilesPlugin插件用于加载Tiles组件的配置文件。在plug-in元素中包含几个set-property子元素,用
  39. 于向TilesPlugin插件传入附加的参数:
  40.     ·definitions-config参数:指定Tiles组件的配置文件,如果有多个配置文件,则它们之间用逗号
  41. 分隔。
  42.     ·definitions-parser-validate参数:指定XML解析器是否验证Tiles配置文件,可选值包括true
  43. false,默认值为true。 
  44. 模板页layout.jsp(放在WebRoot下):
  45. <%@ page contentType="text/html; charset=UTF-8"%>
  46. <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>
  47. <html>
  48.     <head>
  49.         <title></title>
  50.     </head>
  51.     <body>
  52.         <table width="768px" height="800px" border="2" align="center">
  53.         
  54.             <tr>
  55.                 <td colspan="2" align="center" valign="top" width="768px" 
  56. height="100px" bgcolor="#80ff80"><tiles:getAsString name="title"/>
  57.                     <tiles:insert attribute="header"></tiles:insert>
  58.                 </td>
  59.             </tr>
  60.             <tr>
  61.                 <td align="center"  width="150px" height="800px" 
  62. bgcolor="#00ff00">
  63.                     <tiles:insert attribute="menu"></tiles:insert>
  64.                 </td>
  65.                 <td align="right"  width="618px" height="800px" 
  66. bgcolor="#ff80c0">
  67.                     <tiles:insert attribute="body"></tiles:insert>
  68.                 </td>
  69.             </tr>
  70.             <tr>
  71.                 <td colspan="2" bgcolor="#00ff40" height="100px">
  72.                     <tiles:insert attribute="footer"></tiles:insert>
  73.                 </td>
  74.             </tr>
  75.         </table>
  76.     </body>
  77. </html>
  78. 测试页 index.jsp(放在WebRoot下):
  79. <%@ page language="java" pageEncoding="UTF-8"%>
  80. <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
  81. <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
  82. <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
  83. <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
  84. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  85. <html:html lang="true">
  86.   <head>
  87.     <html:base />
  88.     
  89.     <title>index.jsp</title>
  90.     <meta http-equiv="pragma" content="no-cache">
  91.     <meta http-equiv="cache-control" content="no-cache">
  92.     <meta http-equiv="expires" content="0">    
  93.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  94.     <meta http-equiv="description" content="This is my page">
  95.     <!--
  96.     <link rel="stylesheet" type="text/css" href="styles.css">
  97.     -->
  98.   </head>
  99.   
  100.   <body>
  101.     This a test page. <br>
  102.     <tiles:insert definition="index-definition"/>
  103.     
  104.   </body>
  105. </html:html>
  106. 在web.xml文件中不用配置保持默认就可以
  107. ********以上代码我以调试成功 祝大家好运********
  108. -----------------------------------------------------------
  109. 如果Tiles组件代表完整的网页,可以直接通过Struts Action来调用Tiles组件。例如,如果希望通过
  110. Struts Action来调用定义的名为"index-definition"的Tiles组件,可以在Struts配置文件中配置如下
  111. Action 映射: 
  112. <action-mappings>
  113. <action   path="/index"
  114.           type="org.apache.struts.actions.ForwardAction"
  115.           parameter="index-definition">
  116.  </action>
  117. </action-mappings> 
  118.  通过Struts Action来调用Tiles组件,可以充分发挥Struts框架负责流程控制的功能。此外,可以减
  119. 少JSP文件的数目。例如,如果直接通过Struts Action来调用名为"index-definition"的Tiles组件,
  120. 就不必再创建index.jsp文件。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值