Struts 和 Tiles 辅助基于组件的开发(5)

Struts 和 Tiles 辅助基于组件的开发(5)

Struts 和 Tiles 更复杂的使用

篇幅所限,不允许我再深入讨论 Struts 和 Tiles 包其它一些实用的方面,但我真的想简要地谈一下,这样您可以对 Struts 和 Tiles 可以做些什么有所了解。如果有足够的需求,可能这些内容会是将来文章的主题。

您会在本文的两个示例中注意到,我编码了名、姓、喜欢的颜色和出生日期等基本验证。我所采用的这类简单验证实际上可由 Struts 通过使用它的格式验证来执行,这样节省了花在编码 Java 语句的时间。例如,检查是否是空字符串、检查字符串是否与日期相匹配或检查是否与其它某些正则表达式匹配等,这都是可行的。您会发现将格式验证用作第一级检查会是十分方便的,在检查是否符合更复杂的业务逻辑规则之前,程序可用第一级检查来消除一些明显错误。Struts 提供了一个验证器包,可以通过 WEB-INF 目录中的 validator.xml 描述符来配置该包。在这两个示例中我没有包含该验证器包;如果您想试一下,它包含在 Struts 1.1-b1 包中。

Struts 和 Tiles 包的另一个有用特性是与容器管理的安全性相集成。很多人都在使用诸如 IBM WebSphere 或 JBoss 之类的应用程序服务器。这些服务器通过处理安全性中所涉及的许多日常任务使认证和授权更便捷,让您摆脱必须对它们进行的编码。Struts 允许您根据用户角色有条件地向不同用户显示 bean 数据的不同位,这可以通过自动查询容器来决定。同样地,Tiles 框架允许您根据用户角色有条件地向不同用户显示不同的视图组件,这也是通过自动查询容器来决定的。我在自己的应用程序中使用这些特性向管理员、常规用户或 guest 用户显示不同的菜单。

最后要说明,我在示例中没有谈到国际化,但对于那些构建将来最终要以多种语言发布的大型应用程序的人来说,这实际是一个重要方面。Struts 让您创建消息资源特性文件,这些文件指定标签、标题和其它输出的文本。如果您用几种不同语言的输出填入消息资源特性文件的话,只要简单更改语言设置就能将所有窗口构件和硬编码的文本更改成适当语言,甚至在应用程序运行中也可以更改。

未来的方向

Struts 和 Tiles 将走向何方呢?刚出现的两个更改必定会使 Struts 和 Tiles 更加有用。第一个更改是工作流管理系统。您很可能处理过许多多步骤的业务过程;目前,在 Web 应用程序中对它们进行编码可以是一个主要的麻烦,因为您必须协调不同的步骤,而每一步骤都是 Java 类中的一个单独方法或是一个单独的 servlet 或 JSP 页面。商业市场中的工具通过使开发人员能对多步骤的业务过程进行建模,然后自动生成 Java 代码作为进一步开发的基础,来帮助管理这些过程。Struts 工作流管理系统将提供类似的功能,使开发人员能够编写业务过程的脚本,这些过程在 Web 应用程序中跨多个页面,并指定这些页面如何通过核心的基于规则的系统进行交互。

另一个同样有望即将出现的更改是将 Struts 标记合并到 JSP 标准标记库(JSP Standard Tag Library)中,这个库是 Jakarta 项目,它试图产生一个有用的定制标记集合,从而简化并加快用 JSP 页面编写 Web 应用程序的开发。其中的意义在于:Web 应用程序的开发将比过去任何时候都更容易,因为您可以通过使用定制标记的标准机制得到一个在此基础上做进一步开发的预先编写好的代码库。而且,JSP STL 标准中这个项目的合并甚至确保了 Struts 和 Tiles 功能更为广泛的分发和可用,这意味具有这种技能的开发人员在众多项目中大有作为,而且公司更加容易获得开发 Web 应用程序的熟练人才。

您能从本文中获得什么?
在阅读了本文后,您应该记住以下要点:

  • MVC 是开发健壮的 Web 软件的优秀体系结构。 面向页面的体系结构是简单的,但随着应用程序在规模和使用范围方面的增长会逐渐失去作用。MVC 是一种经证实适合于较大型应用程序的模型。
  • Struts 和 Tiles 为复杂应用程序提供一个坚实的基础。 Struts 和 Tiles 符合 MVC 范例,并允许开发人员创建随业务需要在管理状态下增长的应用程序。
  • Struts 和 Tiles 受到强大的业界支持,并在开发人员中有逐渐流行和具有推动力。 这确保了其被广泛采用,并保护了开发人员和公司投入的时间和金钱。

有了 Struts 和 Tiles,您会发现现在创立您自己的 Web 应用程序更加容易了。

参考资料

  • 您可以参阅本文在 developerWorks 全球站点上的 英文原文 .
关于作者

Wellie Chao 是 Caravel Technologies 的总裁兼首席技术专家,Caravel Technologies 是一家为各种规模的企业提供技术策略、设计和实现服务的电子商务和技术咨询公司。他多年来一直活跃于技术领域中,自 1984 年以来,他一直涉足软件和硬件的研发,而且从 1994 年开始,他用各种语言在不同平台上编写基于 Web 的软件。他创建并掌管着三家软件技术公司;在招募有才能的职员和管理人员,筹集风险资金及处理与供应商、客户和业务伙伴之间的业务往来方面拥有直接和丰富的经验。他还设计并实现了一个大规模的基于 Web 的企业软件系统。
Wellie 曾在哈佛大学的各种商人和企业家组织中担任讲师和演讲人。他是纽约哈佛俱乐部(Harvard Club of New York)计划委员会(program committe)中的一员,并积极地策划和组织商业和技术计划。Wellie 拥有哈佛大学的荣誉 AB,他在哈佛攻读了经济学和计算机科学专业。可以通过 wchao@caraveltech.com 与他联系。(全文完)

Altium Designer20 PCB板子绘制 版层 top layer 顶层 bottom layer 底层 设置板子大小 布局 过孔 top layer层连到bottom layer层。通过via连接。 设置线宽 在design rules里可以设置线宽。 右键new rule 可以新增线宽,电源设置成20mil 还可以设置很多其他的线宽 修改安全距离 安全距离太短容易出现毛刺,然后短路,一般设置成20mil 修改元器件旋转角度 修改rotation step,每次旋转45°。 修改光标大小 下面的cursor type是修改光标 阅读详情

相关推荐

当NetApp 7-mode遇到单控制器故障:HA模式手动修复全记录

本文详细记录了NetApp 7-mode存储系统在单控制器故障时的应急修复过程,包括HA配置重建、磁盘初始化和业务恢复等关键步骤。通过实战案例解析如何解决`VIA Interconnect is down`等典型问题,为企业级存储系统的高可用保障提供实用指南。

yolo5detector的博客 247

Struts Tiles 框架概述

       Tiles框架为创建Web页面提供了一种模板机制,它能将网页的布局和内容分离。允许先创建模板,然后在运行时动态地将内容插入到模板中。    在我们已知的创建符合式网页的方法中,包括:  采用基本的JSP语句创建符合式网页。这种方法会导致JSP代码的大量冗余,后果是重复编码、多处修改,大大增加开发和维护成本。  采用JSP的include指令创建符合式网页。和第一种方案相比

晨雨的专栏 3475

OpenAI Realtime API实时语音交互实战指南

实时语音交互是人机自然对话的核心能力,其本质在于构建低延迟、双向、流式协同的音频-语义闭环。它突破传统REST API的请求-响应范式,依托WebSocket实现毫秒级音频输入流(audio.delta)、模型生成流(text/audio.delta)与动态控制流(session.update)三重并行。该技术显著降低端到端延迟至300ms以内,支撑语音助手、智能客服、对话式教育等强实时场景。本文聚焦OpenAI Realtime API的工程落地,详解PCM音频流处理、VAD语音活动检测、AudioCon

weixin_32285357的博客 393

Struts 2 Tiles整合教程

Struts 2 Tiles整合例题这个例子将向我们展示如何使用Struts 2 tiles插件整合Struts 2和Tiles。在部署符里首先需要设置tiles定义文件。 org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG /WEB-INF/tiles.xml  然后设置tiles的监听者

kimlunarove的专栏 4514

Frenet坐标系下动态街道场景的最优轨迹生成

本文详细解读了Lattice Planner

BigDavid123的博客 2393

PostgreSQL 在 Windows操作系统 无管理员权限情况下的部署详解

但是因为使用默认5432端口,我们修改了端口,所以连接报错,需要修改local连接信息,右键-属性修改相应信息即可,方式同上。(也别太任意吧,个人习惯工具放在不包含中文及特殊字符的目录,另外目录名尽量简短,避免不必要的麻烦)图中我解压到了自己的tools\postgresql18。1)如果想修改默认的5432端口,找到初始化目录中的(上面的tools\postgresql18\。此处替换成你的实际目录\tools\postgresql18\pgsql\pgAdmin 4\runtime。

dong_zhi2328的博客 1117

在Struts中使用Tiles简明手册

如果要在Struts中使用tiles,首先要保证页面可以正确引入struts-tiles.tld,即。另外在struts-config.xml配置如下:                     在    //定义一个母板                                                    在classicLayout.jsp文件中如下:       Simple

首席技术执行官CTO(Chief Technology Officer)|技术总监--邓斌博客 1564

浙大数值分析lab2

最可怕的一道题,题目是这样的 Root of a Polynomial A polynomial of degree nnn has the common form as p(x)=cnxn+cn−1xn−1+⋯+c1x+c0p(x)=c_n x^n + c_{n-1} x^{n-1} + \cdots + c_1 x + c_0p(x)=c​n​​x​n​​+c​n−1​​x​

yao_zou的博客 4797

struts tiles实例

做了一个struts2 tiles的实例,为了防止以后忘掉,特在此写篇文章记下首先,先看一下总体结构图现在,我们按步骤来:1、所需的jar包,请将以下jar包导入 2、配置web.xml,设置监听等,内容如下:  xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.co

luckygll的专栏 1256

即插即用系列(代码实践) | CVPR 2025 FDConv:频域动态卷积,打破密集预测任务的参数效率瓶颈

本文提取自 CVPR 2025 的最新底层算子革新论文《Frequency Dynamic Convolution for Dense Image Prediction》。近年来,动态卷积(Dynamic Convolution)通过融合多个并行卷积核极大地提升了模型性能,但研究表明:这些并行卷积核在频域上的响应高度相似,导致了极其严重的参数浪费,且缺乏对不同频率特征的自适应能力。本文复现了该网络的核心架构——FDConv(频率动态卷积)。该方案创造性地在傅里叶域(Fourier Domain)中学习固定参

分享顶会顶刊论文即插即用模块 113

SAP_SD模块路径及运输功能后台配置简介

后台路径:SPRO—后勤执行—装运—基本发运功能—定义路线—定义传输模式根据实际运输过程运输地理的类型:海运、公路运输、空运后台路径:SPRO—后勤执行—装运—基本发运功能—定义路线—定义发运类型根据实际运输过程运输方式:汽车、卡车、火车、轮船、飞机后台路径:SPRO—后勤执行—装运—基本发运功能—路径—定义路线—定义运输连接点指在运输过程中需要中转的地区可以维护中转地区的停留的时间后台路径:SPRO—后勤执行—装运—基本发运功能—路径—定义路线—定义路径和阶段。

我小时候很黑的博客 1399

struts中使用tiles组件(原创)

1.在你的struts配置文件中加入下面的配置: 2.生成tiles-def.xml文件: "-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">         3.生成layout.

楼顶专栏 2163

手把手教你学Simulink——基于经典滤波器设计的场景:低通滤波器(LPF)的设计与频率响应仿真

滤波器是信号处理领域中非常重要的组件,用于去除不需要的频率成分或者提取有用的频率信息。低通滤波器(Low-Pass Filter, LPF)允许低于某个特定截止频率的信号通过,同时衰减高于该截止频率的信号。在本教程中,我们将学习如何使用设计一个简单的模拟低通滤波器,并对其频率响应进行仿真分析。本文介绍了如何使用设计一个简单的模拟低通滤波器,并通过仿真展示了其应用效果。通过这样的实践,您不仅能够加深对滤波器工作原理的理解,还能掌握利用Simulink进行滤波器设计与仿真的基本技能。

MHD0815的博客 5720

Struts Tiles框架示例

Struts Tiles框架是一个布局框架,允许用户在所有网页上高效地维护页眉,页脚和菜单的标准外观。 下载此示例– Struts-Tile-Framework-Example.zip 瓷砖模板示例 这是一个创建图块模板的示例,以维护Struts中所有网页的页眉和页脚详细信息。 首先,请参阅此Struts磁贴框架关系。 1.获取Struts Tiles库 从St...

一名可爱的技术搬运工 303

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Struts中使用tiles

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

QueenJade的收录 875

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Struts1 tiles笔记

Tiles标签库 Tiles标签的<tiles:insert>标签和jsp include 指令具有相同的功能。<tiles:insert page="indexContent.jsp" flush="true"/>flush为true,表示执行插入之前,先调用当前页面的输出流的flush()方法; 使用tiles标签的步骤(1)安装tiles标签库需要的文件: W...

五谷杂粮 135

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Struts Tiles 标签库

  tiles:insert page="/layouts/commonLayout.jsp" flush="true" />     插入到JSP页面中:这个例子将tag中指定的页面插入到整个页面中来。page属性可以是指向任

1207

struts2 配置tiles出錯

配置struts2.xml時出錯,console throw 以下錯誤,ERROR [main] (StandardContext.java:3639) - Exception starting filter struts2Error building results for action manageRoomIndex in namespace  - action - file:/D:/proj

EYAS'S BLOG 1662

Tiles组件的基本使用方法

Tiles框架允许在专门的XML文件中配置Tiles组件。例如,以下代码定义了一个名为"index-definition"的Tiles组件,它描述整个index.jsp网页:     definition元素的name属性指定Tiles组件的名字,path属性指定Tiles组件使用的模板,definition元素

Zfrong繁荣的IT技术、IT项目、解决方案专栏Blog-上海 1054

Struts 's Tiles使用入门

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

山哥's 专栏 3473

tiles框架(转载)

Tiles 框架增强了基于组件的 Web UI 开发的设计,它和 Struts 框架的组合工作得很好。您可以很容易的协同 WebShpere Studio 使用 Tiles 和 Struts 框架以显著降低您的 Web 开发工程的开发时间和维护代价。© Copyright International Business Machines Corporation 2003. All rights re

首席技术执行官CTO(Chief Technology Officer)|技术总监--邓斌博客 1233

struts1整合tiles详解+demo

1.用myeclipse建一个web工程   2.导入struts1.2的框架模板   3.创建所需要的java类和jsp文件及tiles-defs.xml   4.配置struts-config.xml的plug-in   工程图如下:        5.LogonAction.java   package com.cenwave.action; import ja...

Cyril 727

Struts2-Tiles 2.5.2 升级指南和通配符拓展

最近工程从Struts2.3.18升级Struts2.5.2导致相关联的插件都需要升级到相同版本,其中tiles的变化最大。 1、web.xml上 listener org.apache.struts2.tiles.StrutsTilesListener context-param 新增tiles资源位置定义参数:org.apache.tiles.definition.DefinitionsFac

believer123的专栏 2639

Struts里使用tiles模板

Tiles提供了一种框架,供你定义和动态填充页面布局。每个页面布局就是一个定义了模板框架(或轮廓)并用占位符表示应该填充内容的位置的jsp。运行时tiles用其相关内容代替占位符,创建一个完整的页面和独特的布局实例。为了实现这个目标,Tiles使用了概念:定义和属性。            一个Tiles定义创建一条内容,并可以通过使用定义的名称将其插入JSP。每个定义有名称(或标识符),布局JS

tyrone的专栏 2976

Struts Tiles框架的使用

Tiles 框架增强了基于组件的设计和 Web UI 设计中的模板概念。它可以帮助开发人员解除 Web UI 组件之间的耦合并重用它们。                        另外,Tiles 模板及其继承特征使您能够以最小量的工作为 Web 应用程序设计出一致的外观。                        下面以一个小例子来说明tiles框架的使用:           

guoweilxx的专栏 676

Struts Tiles标签学习笔记 [ 原创 ]

Struts Tiles标签学习笔记:1,Tiles可以不使用配置文件,就比jsp:include强一点,差别就是能够传参数. 语法分两个部分:  模版里A.jsp   使用模版的页面B.jsp                2, Tiles 使用配制文件,文件里定义的叫"tiles组件" 简称"组件". 语法:  配置文件里tiles-defs.xml              这个com1组件

1839
上一篇: Struts 和 Tiles 辅助基于组件的开发(3)
下一篇: Tiles配置
wapysun
博客等级 码龄19年 14粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值