为什么使用Tiles

Grok 3国内怎么用?超详细使用指南+实用指令模板 主要是用于快速分析学术论文,提取关键信息,总结研究成果。Analyze the following research paper: [粘贴或上传论文内容]1. Extract key findings, methodologies, and conclusions. (提取主要发现、方法和结论。2. Identify statistical significance and data points. (识别统计显著性和数据点。 阅读详情

大家好,我是一枚正直善良的java程序员。
今天给大家分享一下,为什么要使用Tiles框架

1.背景介绍

Tiles起源

最早的Tiles是组装在Struts1.1里面的,主要目的是为了将复数的jsp页面作为一个的页面的部分机能,然后用来组合成一个最终表示用页面用的,这样的话,便于对页面的各个机能的变更及维护。

现在Tiles已经作为一个Apache独立的开源项目维护着。

如果您发现自己在每个页面上都要编写三行相同的 JSP 代码,或者你想容易地定义复杂的模版布局,那么相信学习Tiles框架会对你有帮助

2.知识剖析

tiles是什么

复合视图模式

所有的网站都有一些共同点:它们由共享类似结构的页面组成。页面共享相同的布局,而每个页面由不同的独立部分组成,但始终放置在整个站点的相同位置。

Tiles 是复合视图模式(Composite View pattern)的一个实现。Tiles将该模式添加到自己的概念中是该模式具体化。Tiles的实现是以复合式模式为理论, 概念包括:Template,Attribute和Definition。视图助手模式的实现是View Preparer 概念。

模板:Template

在Tiles中,模板(Template)是一个页面的布局部分。你能将一个页面结构看成是由不同的需要填补空白组成。

注意:一个模板(Template)可以没有属性(attributes),这种情况下该模板可以直接使用。有属性的话就要先定义属性才能使用,不然的话就会在解析jsp页面的时候报错

属性:Attribute

属性是模板中的空白,它在你的应用程序中被填充到模板中。

属性又分为三种

string:属性是string的话,会将string直接呈现在页面。

template:属性是一个模板(Template),有无属性都行。如果有属性的话,你也要将他们填充后再呈现页面。

definition:它是一个可重复使用组成的页面,包含所有的属性来填充以呈现页面。

定义:definition

定义是呈现给最终用户的组合物;本质上,一个定义是由一个模板和完全或部分填充的属性组成的。说白了就是:一个定义是由一个模板和属性组成的。

3.常见问题

include也可以实现多个jsp共用一个jsp的内容,为什么要使用tiles呢?

4.解决方案

刚接触web开发的人或许知道jsp可以通过include标签动态插入一个jsp页面,这样可以实现多个jsp页面共用一个jsp的内容.但是如果有一个超级大网站,jsp页面以万计呢?

Tiles就是为你遇到的这种需求服务的

如果我们一个网站的布局基本一致,这个时候,我们最好定义一个模板,如layout.jsp

包括header,ad,content,bottom;content下面又包含几个部分left,middle,right.

如果我们不使用tiles,则在每个页面按位置include相关的页面,当页面布局发生改变的时候,我们去掉左边的一部分,这个时候需要到每个页面上去删除相应的include语句;

但如果我们采用tiles的话,就只需要更改layout.jsp就行了.

tiles为了更改的规范网站布局,采用模板机制使布局维护更简单,这是tiles的真正目的所在.

5.编码实战

详情见以下视频

6.扩展思考

关于视图解析器的优先级

在Spring MVC应用程序中,我们经常需要应用一些视图解析器策略来解析视图名称。如果返回了一个视图的名称,那么,使用哪一个视图解析器策略?

如果应用了多个视图解析器策略,那么就必须通过“order”属性来声明优先级,order值越低,则优先级越高

7.参考文献

参考一:Apache Tiles的基本使用

参考二:分分钟知道tiles框架是干嘛的

参考三:SpringMVC视图解析器:配置多个视图解析器的优先级

8.更多讨论

Q1:struts与tiles到底什么关系?

A:1.tiles的标签库文件从struts-el.jar文件取得。

2.tiles框架是struts框架的一部分,用tiles当然需要用到struts jar包中的东西了。

3.使用时,需要在页面引入<%@ taglib uri="http://struts.apache.org/tags-tiles-el" prefix="tiles"%>

Q2:ssh使用tiles框架,怎么使用struts2自定义的过滤器,例如过滤未登陆的用户?

A:struts2可以通过配置interceptor来实现过滤未登录用户,在struts.xml文件中进行配置即可。
Q3:那种大型网站干嘛不找前端?
A:Tiles很擅长处理后端动态模板的。那么问题又来了,现在也有很多技术适合做前端模板,比如ejs。ejs的工作方式是在js代码中动态选择ejs模板。现在简要分析一下ejs的工作流程,在js代码中确定模板以后,由js从后台拉取对应的ejs文件,然后将预先得到的数据填充到ejs模板中,最后才展现给终端用户。从处理速度上分析,Tiles的处理速度一般比js要快。从请求次数而言,使用Tiles时,终端用户只需要请求一次,若使用ejs,则需要请求两次。从可维护性而言,明显Tiles项目的维护性强于ejs。
 

Mybatis面试题(基础篇) (1)mybatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。(2)mybatis避免了几乎所有的JDBC代码(说明了mybatis底层用的就是JDBC,只不过是封装了)和手动设置参数以及获取结果集。(3)mybatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的pojo映射成数据库中的记录。 阅读详情

相关推荐

Deep Reinforcement Learning - 1. DDPG原理和算法

Deep Reinforcement Learning - 1. DDPG原理和算法 背景描述 DDPG的定义和应用场景 DDPG算法相关基本概念定义 DDPG实现框架和算法 DDPG对于DPG的关键改进 下一篇 以下用RL作为Reinforcement Learning 的简称。背景描述概括来说,RL要解决的问

kenneth_yu的博客 14万+

JSP框架Tiles,好东西。

下面主要演示了Tiles的基本用法,已经SpringMVC整合Tiles。 Tiles 是一种JSP布局框架,主要目的是将复杂的jsp页面分割成部分,比如头部模块、主体模块、尾部模块,然后将各模块组合成一个最终表示用页面用的,这样的话,便于对页面的各个机能的变更及维护。并且更容易实现代码的重用。 相当于JSP中可以通过include标签动态插入一个JSP页面的替代方案。首先导入相关Jar包,Ma

ITtraveler的专栏 6853

NotebookLM平替实测:用Open Notebook+Ollama零成本搭建私有AI知识库

本文提供了一份详细的实战指南,教你如何利用Open Notebook与Ollama,在本地零成本搭建一个功能强大且完全私有的AI知识库。通过Docker容器化部署,实现数据绝对安全、模型自由选择与离线运行,是NotebookLM等云端工具的绝佳平替方案,尤其适合注重数据隐私的教育工作者、研究者及小团队。

weixin_29052717的博客 513

spring整合tiles3简单介绍和使用

对于spring 集成 tiles3 简单介绍 网站一般分为可重复使用的模板正在呈现不同的网页之间的的。例如,一个网站中包含的页眉,页脚,菜单等项目仍然通过了该网站相同,并给它一个共同的外观和感觉。这是很难很难的代码在每一个网页,如果以后需要改变是不是所有的页面需要修改。因此,我们使用模板化机制。我们创建一个共同的页眉,页脚,菜单页,其中包括在每一页。  首先Spring - servle

usernameysz的博客 1230

YOLOv8中Bottleneck模块的残差连接机制解析

本文深入解析了YOLOv8目标检测模型中Bottleneck模块的核心设计,重点阐述了其残差连接机制。该机制通过构建一条信息“捷径”,有效缓解了深层网络中的梯度消失问题,稳定了训练过程,并提升了特征提取效率。文章结合代码详细拆解了模块结构,并探讨了其在YOLOv8骨干网络与检测头中的关键作用及参数调优思路。

weixin_29061821的博客 253

STM32CubeMX、keil、simulink联合开发MCU教程

一、整体思路 利用Matlab的simulink搭建模型生成C代码,通过stm32cubemx生成工程,最后在KEIL或者IAR等工具里面编译生成代码下载至MCU中执行。 本文以流水灯建立模型和简单使用定时器为例进行演示。 二、开发环境 1、安装Matlab Matlab版本建议在2013B以上,本文使用Matlab 2016a。 2、安装STM32硬件支持包 下载地址(https://www.stmcu.org.cn/document/detail/index/id-216053) 安装完成后重启MAT

tzlaa的博客 7734

Tiles3.x框架使用

官网:http://tiles.apache.org/ Tiles,瓷砖,就像Windows8+的磁贴一样,多个瓷砖构成了整个UI页面。它是一个免费开源的模板框架,基于组合模式来简化UI界面的开发。对于复杂的网站来说,它可以简单优雅地结合MVC技术一起工作。 配置: ①引入相应的依赖文件

商明超的专栏 3689

锂电池SOH预测 | 基于BP神经网络的锂电池SOH预测(附matlab完整源码)

锂电池SOH预测 | 基于BP神经网络的锂电池SOH预测(附matlab完整源码)

天天酷科研的博客 1113

JSP——tiles

一、什么是tiles?tiles,“瓷砖”的意思。Tiles 是一种JSP布局框架,主要目的是为了将复杂的jsp页面作为一个的页面的部分机能,然后用来组合成一个最终表示用页面用的,这样的话,便于对页面的各个机能的变更及维护。 Tiles使得struts在页面的处理方面多了一种选择。并且更容易实现代码的重用。二、Struts-Tiles页面布局Tiles增加了layout的概念,其实就是把一个页面划...

一个程序媛的成长记录❤ 450

手把手教你学Simulink--基于Simulink的开关磁阻电机电流斩波控制仿真建模

特点:定子和转子均由普通硅钢片叠压而成,没有永磁体或绕组在转子上。工作原理:利用转子旋转时不同位置的磁阻变化产生转矩。控制挑战:由于SRM的高度非线性和磁饱和效应,需要复杂的控制算法来优化性能。利用Simscape Electrical中的模块构建SRM的物理模型,配置参数如电阻、电感等。matlab深色版本% 添加SRM电机模块根据实际需求调整电机参数。通过上述步骤,我们简要介绍了如何基于Simulink进行开关磁阻电机的电流斩波控制仿真建模。

MHD0815的博客 306

[Python] 如何使用 Python 调用 Dify 工作流服务实现自动化翻译

本文介绍了如何使用Python调用Dify的API实现文本翻译自动化。Dify作为AI开发平台,其工作流功能可执行文本处理、翻译等任务。选择Python调用Dify的优势在于职责划分清晰:Dify专注AI服务,Python处理文件操作等非AI任务。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 1095

为什么要使用tiles框架?

为什么要使用Tiles框架? 1.背景介绍 Tiles框架就是一种JSP页面复用体系,我们在设计前端jsp页面时,可能会有很多页面重复的地方,在每个页面上都写上相同的代码块,极大的降低了效率,为了解决代码不可复用的问题,Tiles框架应运而生。 所有的网站都有一些共通的东西:所有的网站都是有网页构成,而且它们彼此分享着共通的结构。这些页面有着共通的布局,但是页面和页面之间又有不同的地方,而...

qq_31552107的博客 436

形状记忆合金热机械本构模型的ABAQUS子程序实现与Fortran\_ABAQUS编程实践

本文详细介绍了如何使用ABAQUS子程序实现形状记忆合金的热机械本构模型,并通过Fortran_ABAQUS进行编程实践。我们首先介绍了问题的背景和目标,然后讲解了如何在Fortran_ABAQUS子程序中实现热变形模型、应力应变关系和相变模型,最后进行了ABAQUS模拟,并分析了模拟结果。希望通过本文的讲解,能让大家更深入理解ABAQUS子程序以及Fortran的使用,也希望能对大家在进行相关学习或研究工作时提供一些帮助。

qq_38334677的博客 1327

Struts使用Tiles辅助开发

 对于在页面的布局管理以及可重用方面,Tiles做得很优秀,使我们在开发过程中思路非常流畅,特别是在用struts开发项目过程中,如果使用tiels来辅助开发,往往能带到事半功倍的效果。 如果要看Tiles的详细文档,请访问 http://www.lifl.fr/~dumoulin/tiles/ 在此我想从使用方式上说一下自己的经验: 往往我们的一个项目中,大部分的页面的布局都是一样的,这其中如果

zaowei21的专栏 1285

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Tiles的使用

struts中使用tiles组件 1.在你的struts配置文件struts-config.xml中加入下面的配置:             2.生成tiles-def.xml文件:         "-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"        "http://jakarta.apache.

shanchao的专栏 683

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Struts 's Tiles使用入门

Tiles使用入门 作者:孤魂一笑 一:说明Struts1.1以后增加了Tiles包使得struts在页面的处理方面多了一种选择.并且更容易实现代码的重用。Tiles中对页面的划分有点象jakarta的另外一个项目Turbine中的TDK。增加了layout的概念.其实就是把一个页面划分为几块。通常的来说一个页面大概可以划分为如下几块:head页面头部:存放一个运用的公共信息:lo

山哥's 专栏 3472

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

3D Tiles Tools 使用教程

3D Tiles Tools 是一个用于处理和优化 3D Tiles 数据的开源工具集,由 Cesium GS 公司开发和维护。该工具集提供了丰富的命令行工具,用于转换、优化、处理和分析 3D Tiles 数据。 ## 安装方法 ### 通过 NPM 安装 要将 3D Tiles Tools 安装到本地目录,请运行: ```bash npm install 3d-tiles-tools `

gitblog_00050的博客 1245

tiles框架使用简单总结

大家好,我是IT修真院北京分院第34期的java学员,一枚正直纯洁善良的程序员(帅不过老大),今天给大家分享一下,修真院官网Java任务4中的内容:Tiles框架 1.Tiles框架简介: 最早的Tiles是组装在Struts1.1里面的,主要目的是为了将复杂的jsp页面作为一个的页面的部分机能,然后用来组合成一个最终表示用页面用的,这样的话,便于对页面的各个机能的变更及维护。现在Til...

weixin_42402753的博客 3493

Obj2Tiles 项目使用教程

Obj2Tiles 项目使用教程 1. 项目目录结构及介绍 Obj2Tiles 项目的目录结构如下: Obj2Tiles/ ├── github/workflows/ ├── idea/ ├── vs/Obj2Tiles/ ├── vscode/ ├── MeshDecimatorCore/ ├── Obj2Gltf/ ├── Obj2Tiles/ │ ├── Common/ │ ├── ...

gitblog_00073的博客 1256

Apache Tiles的基本使用

转载地址:http://my.oschina.net/jast90/blog/284254 1、概述     对于一个新的技术,了解其基本的概念和和原理是学好该技术的基础。 2、Tiles的概念        Tiles 是复合视图模式(Composite View pattern)的一个实现。Tiles将该模式添加到自己的概念中是该模式具体化。Tiles的实现是以

孤天浪雨 2568

Struts中使用tiles

Struts中使用tiles                    Tiles框架                 简介:     最早的Tiles是组装在Struts1.1里面的,主要目的是为了将复数的jsp页面作为一个的页面的部分机能,然后用来组合成一个最终表示用页面用的,这样的话,便于对页面的各个机能的变更及维护。 Tiles使得struts在页面的处理方面多了一

QueenJade的收录 875

tiles的使用

所需要的Jar XML 配置 文件:        "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"        "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">       vie

靳江海 1907

tiles框架的使用记录

tiles框架是一个很强大的框架,能够方便快捷的搭建各种模块化的web架构。比如包含菜单、banner、主体、footer的web架构。 一、在http://tiles.apache.org/ 下载Tiles 2.1.2  需要引入这几个jar: tiles-api-2.1.2.jar,tiles-core-2.1.2.jar,tiles-servlet-2.1.2.jar,tiles-jsp

~Hello,Wicky // 949

Tiles的使用-遗补和总结

   一.) Tiles配置要正常使用tiles,必须在Structs配置文件中加入下列代码:   className="org.apache.struts.tiles.TilesPlugin" > definitions-config" value="/WEB-INF/tiles-defs.xml, /WEB-INF/tiles-te

首席技术执行官CTO(Chief Technology Officer)|技术总监--邓斌博客 1426
上一篇: WEB.XML里的主要配置都包括什么 都代表什么含义
下一篇: JMeter的简单介绍
莫名+
博客等级 码龄9年 0粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值