Struts Tiles 是一个页面模板引擎,属于视图层。定义页面布局,不指定里面的内容,当web页面运行时,才把特定的jsp内容插入到模板中显示。

该案例涉及到的file:web.xml,struts-default.xml,tiles-defs.xml,sidepanel.jsp, welcome.jsp

1.  Web.xml

<!--Action Servlet Configuration -->

<servlet>

<servlet-name>action</servlet-name>

<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

<init-param>

<param-name>config</param-name>

<param-value>/WEB-INF/struts-default.xml</param-value>

</init-param>

<init-param>

<param-name>config/acctmgmt</param-name>

<param-value>/WEB-INF/struts-acctmgmt.xml</param-value>

</init-param>

<init-param>

<param-name>debug</param-name>

<param-value>3</param-value>

</init-param>

<init-param>

<param-name>detail</param-name>

<param-value>3</param-value>

</init-param>

<load-on-startup>2</load-on-startup>

</servlet>

2.  Struts-default.xml

引入tiles-defs.xml文件

<plug-inclassName="org.apache.struts.tiles.TilesPlugin" >

<set-propertyproperty="definitions-config"

value="/WEB-INF/tiles-defs.xml"/>

<set-propertyproperty="moduleAware" value="false" />

</plug-in>

3.  tiles-defs.xml

定义tiels,创建tiles组件,配置模板资源

<tiles-definitions>

<!--site layout -->

<definitionname="siteLayout" path="/sitelayout.jsp">

<putname="header" value="header.jsp" />

<putname="main" value="mainLayout" />

<putname="footer" value="footer.jsp" />

</definition>

<!--layout of main area -->

<definitionname="mainLayout" path="mainlayout.jsp">

<putname="sidepanel" value="sideLayout" />

<putname="content" value="contents" />

</definition>

<!--layout of sidepane -->

<definitionname="sideLayout" path="sidepanel.jsp">

<putname="leftupper"value="../upper.jsp" />

<putname="leftlower"value="../lower.jsp" />

</definition>

<!--layout of content area -->

<definitionname="contents" path="contents.jsp">

<putname="section1" value="" type="string" />

<putname="section2" value="" type="string" />

<putname="section3" value="" type="string" />

<putname="section4" value="" type="string" />

<putname="section5" value="" type="string" />

<putname="section6" value="" type="string" />

</definition>

</tiles-definitions>

4.  sidepanel.jsp

引用tiles,创建模板布局

<%@ tagliburi="/WEB-INF/struts-tiles.tld" prefix="tiles" %>

<table role="presentation"cellpadding="2" cellspacing="0">

<tr>

<tdvalign="top">

<table role="presentation">

<tiles:insert attribute="leftupper"ignore="true"/>

<tr>

<td>

<div>

<tiles:insert attribute="leftlower" ignore="true"/>

</div>

</td>

</tr>

</table>

</td>

</tr>

</table>

5.  welcome.jsp

在jsp页面中使用tiles

<%@ tagliburi="/WEB-INF/struts-tiles.tld" prefix="tiles" %>

<tiles:insert definition="siteLayout"flush="true">

<tiles:put name="pageTitle" type="string"value="Site Entrance" />

<tiles:put name="pageHeader"type="string" value="" />

<tiles:put name="content"type="string">

<!-- page content goes here -->

</tiles:put>

</tiles:insert>

转载于:https://blog.51cto.com/faraway/1736576

Struts Tiles 页面模板引擎初实践相关推荐

  1. struts -Tiles介绍

    來源:http://hithoper.blog.hexun.com/17860631_d.html 安装和配置Tiles 在您能够使用Tiles 框架之前,您必须确保它已安装并正确的配置在web容器中 ...

  2. Struts tiles入门(最最简单的例子)

          前提物质条件: 1.Struts Framework;    2.struts-tiles.tld 一. web.xml配置 <servlet>          <se ...

  3. Struts Tiles 框架概述

    Tiles 框架为创建 Web 页面提供了一种模板机制,它能将网页的布局和内容分离.允许先创建模板,然后在运行时动态地将内容插入到模板中. 在我们已知的创建符合式网页的方法中,包括: 采用基本的JSP ...

  4. 音视频终端引擎优化实践

    本文由百度智能云-视频云终端技术架构师 --李明路,在百度开发者沙龙线上分享的演讲内容整理而成.内容从音视频终端引擎的概念出发,梳理了音视频终端引擎的发展和技术演进,重点介绍了音视频终端引擎的关键技术 ...

  5. 在Android上使用libgdx-box2d物理引擎的实践-20220113

    根据文章"在Android上使用libgdx-box2d物理引擎"后实践过程 1. gralde报错解决,猜测是gralde语法和版本号问题. 1.去maven库手动下载com.b ...

  6. 从长沙到南京,看“ACE交通引擎”落地实践的进程

    文|曾响铃 来源|科技向令说(xiangling0815) 2020年4月19日或将成为中国自动驾驶行业又一个标志性的日子. 百度在当天宣布,Apollo Robotaxi服务上线百度地图及百度APP ...

  7. SpringMVC集成Tiles布局引擎框架

    Tiles布局框架, http://tiles.apache.org/ Spring已经对Tiles进行了集成.页头页尾公共模板页要靠这个,不然重复代码太多. <dependency>&l ...

  8. Python《爬虫初实践》

    今天转转悠悠,突然不知道该学些什么,偶然的一瞬间脑子里想到了爬虫,这个我很早就了解的技术,我却没有亲自实践过,于是这次想好好地去了解下,学习下简单的使用方法,毕竟自以后的深度学习中也是有用处的,爬取图 ...

  9. Fibo Rule决策引擎应用实践

    1. 决策引擎介绍 什么是决策 决策,指决定的策略或办法.是人们为各种事件出主意.做决定的过程.它是一个复杂的思维操作过程,是信息搜集.加工,最后作出判断.得出结论的过程. 什么是决策引擎 决策引擎是 ...

  10. flowable 查询完成的流程_flowable流程引擎初体验,完成一个请假流程

    flowable是一个用Java写的轻量级商业流程引擎,用它可以部署BPMN2.0(在工业界被广泛接受的XML标准)流程定义, 并且可以创建流程实例,驱动节点流转,存储相关的历史数据等等.可能更多人先 ...

最新文章

  1. RabbitMQ 异常与任务分发
  2. matplotlib可视化基本散点图、在图像多个指定区域绘制方框、进行自定义色彩填充(Draw Multiple Rectangles)
  3. 不使用配置文件动态注册HttpModule
  4. BP神经网络-- C语言实现
  5. Linux 0.11 实验环境搭建
  6. 顺序循环队列队满队空的两种判别方式
  7. mpc5774时钟监控寄存器_单片机如何才能不死机之内外部时钟
  8. 关于欧拉工程的一道递推题
  9. python 多继承 __new___Python3中的__new__方法以及继承不可变类型类的问题
  10. Maven工程 报 Diamond types are not supported at language level ‘5‘
  11. aws lambda使用_使用AWS Lambda的CloudWatch事件通知
  12. DB、ETL、DW、OLAP、DM、BI关系结构图
  13. 「Python 编程」编码实现网络请求库中的 URL 解析器
  14. 如何入门AI?五大新手项目奉上
  15. 加密文档的三种基本方法
  16. 如何自学成为设计师_自学能成为一名平面设计师吗?如何提高审美?
  17. 基于改进K-means聚类和隐马尔可夫链的汽车行驶工况构建
  18. JSP页面传值方法总结
  19. 写一款汽车维修保养软件,让维修保养管理更加轻松,JavaScript 作用域
  20. 华为首款64位处理器手机跑分曝光

热门文章

  1. unity创建一个简单对象的开销_SpringBoot第一篇:创建一个简单的SpringBoot
  2. matlab状态转空间,matlab - 如何在Matlab中使用状态空间模型避免tf()命令 - 堆栈内存溢出...
  3. linux 内核挂起 ping,Linux内核安全详解 ping到死复活方法
  4. c语言冒泡排序法程序填空_五种数组的排序方法(C语言)Part1
  5. 安卓app执行linux命令,如何在android程序中执行adb shell指令
  6. python手写识别系统gui_求大神帮助,怎么用wxpython编写一个数字手写体识别系统!...
  7. Python项目开发基础 -- 函数参数与数据库连接参数
  8. idea 自动添加doc_公共组件需求自动录入TAPD
  9. 用 PHP 来玩直播猜题小游戏,一起 happy coding.
  10. 在云端飞舞,遨游云浏览器体验感受