03Struts2深入
- 格式:ppt
- 大小:494.00 KB
- 文档页数:21


Struts2学习之二--Struts2标签介绍热12已有 14625 次阅读 2009-07-12 18:53[顶]3G移动--Android开发工程师全能班(转) Struts2学习之二--Struts2标签介绍在上一篇文章《为Struts 2.0做好准备》中,我过于详细地介绍了Struts 2.0开发环境和运行环境的配置,所以,本文很少涉及的以上两方面的细节。
如果,您看完《为Struts 2.0做好准备》后,还有什么不明白,或者没法运行文中例子,请联系我。
我的E-MAIL:Max.M.Yuan@。
在介绍常用标志前,我想先从总体上,对Struts 1.x与Struts 2.0的标志库(Tag Library)作比较。
分类将标志库按功能分成HTML、Tiles、Logic和Bean等几部分严格上来说,没有分类,所有标志都在URI为“/struts-tags”命名空间下,不过,我们可以从功能上将其分为两大类:非UI标志和UI标志表达式语言(expression languages)不支持嵌入语言(EL)OGNL、JSTL、Groovy和Velcity以上表格,纯属个人总结,如有所不足或错误,请不吝指正好了,我要开始介绍“常用”(这里所谓的“常用”,是指在已往工作中使用Struts里经常用到的)的标志了。
1.非UI标志o if、elseif和else描述:执行基本的条件流转。
参数:名称必需默认类型描述备注test 是Boolean 决定标志里内容是否显示的表达式else标志没有这个参数id 否Object/String 用来标识元素的id。
在UI和表单中为HTML的id属性例子:<%@ page contentType="text/html; charset=UTF-8" %><%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>Condition Flow</title></head><body><h3>Condition Flow</h3><!--这里有点小技巧:本来可以用#[0]来获得,请求中name的值。
struts2框架特征Struts2框架特征简介Struts2是一个基于MVC架构的Java Web应用框架,由Apache Struts团队开发和维护。
它是Struts的下一代版本,具有许多强大的特征和功能。
本文将介绍Struts2框架的一些主要特征。
特征以下是Struts2框架的一些主要特征:1.轻量级:Struts2框架是一个轻量级的框架,只需很少的配置就能实现项目的开发。
2.MVC架构:Struts2采用经典的MVC(Model-View-Controller)架构,将应用程序分为模型、视图和控制器。
3.灵活的配置:Struts2提供了灵活的配置方式,可以根据项目的需求进行自定义配置。
4.强大的表单处理:Struts2提供了丰富的表单处理功能,包括数据验证、数据绑定、错误处理等。
5.拦截器机制:Struts2的拦截器机制是其核心特征之一,可以在请求处理过程中加入自定义的拦截逻辑。
6.国际化支持:Struts2提供了国际化支持,可以轻松实现多语言的应用程序。
7.AJAX支持:Struts2对AJAX的支持非常好,可以方便地实现异步请求和响应。
8.插件机制:Struts2提供了丰富的插件,可以扩展框架的功能。
9.易于测试:Struts2框架的代码结构和设计模式使得应用程序易于进行单元测试和集成测试。
10.丰富的文档:Struts2有非常详细的官方文档和社区支持,可以快速解决问题和学习框架。
总结Struts2是一个功能强大且灵活的Java Web框架,拥有许多令人印象深刻的特征。
它的轻量级、MVC架构、拦截器机制和表单处理功能等都使得开发人员能够更加高效地构建Web应用程序。
如果你是一名开发人员,建议你尝试使用Struts2来开发你的下一个项目。
注意:本文所述为一名资深的创作者对”struts2框架特征”的描述,并采用了Markdown格式进行编写,符合所提到的规则。
Struts2框架特征(续)特征11.可靠的错误处理:Struts2框架提供了可靠的错误处理机制,能够捕获并处理应用程序中的异常情况。
struts2的工作原理
Struts2是一个基于Java的Web应用程序框架,其工作原理是
基于MVC(Model-View-Controller)设计模式。
它主要由以
下几个组件构成:
1. 客户端发起请求:用户在浏览器中输入URL地址或者点击
超链接等操作发起请求。
2. 前端控制器(Front Controller)处理请求:当用户发起请求时,前端控制器(通常是一个Servlet)接收到请求,并负责
处理该请求。
3. 配置文件解析:前端控制器会根据配置文件(通常是struts.xml)对请求进行解析,确定要执行的控制器动作和视图。
4. 控制器动作执行:前端控制器会根据配置文件中指定的控制器动作,调用相应的Action处理业务逻辑。
Action是一个
Java类,负责接收请求参数、调用服务层逻辑处理数据,并将处理结果封装进Action的属性中。
5. 视图生成:当控制器动作执行完成后,前端控制器会根据配置文件中指定的视图,调用相应的视图模板生成最终的
HTML响应。
6. 响应返回客户端:生成的HTML响应会被前端控制器发送
回客户端,显示在用户的浏览器中。
总结来说,Struts2的工作原理就是通过前端控制器来处理用
户请求,根据配置文件解析请求,并调用相应的Action处理
业务逻辑,最后生成HTML响应返回给客户端。
这种设计模
式的好处是将业务逻辑与界面分离,提高了代码的可维护性和可测试性。
Struts2技术详解1, 当Action设置了某个属性后,Struts将这些属性封装一个叫做Struts.valueStack的属性里。
获取valueStack对象:ValueStack vs = (ValueStack)request.getAttribute("struts.valueStack");调用ValueStack 的vs.findValue("books")方法(books为Action中的属性);2, struts2的Action类是一个普通的POJO 类(通常包含一个无参的execute方法)从而很好的重用代码。
4,struts2通常直接使用Action来封装HTTP请求参数,所以Action中要定义与请求参数对应的属性,并且为该属性提供相应的getter和setter方法。
5,即使Action需要处理的请求name和pass两个HTTP请求参数,Action类也可以不包含name和pass属性,因为系统是通过对应的getter和setter方法来处理请求参数。
而不是通过属性来处理请求参数的。
所以Action类是否包含name和pass属性不重要,重要的是需要setter和getter方法。
6,Action类的属性,不仅可以封装请求参数,还可以用于封装处理结果,通过Struts2标签来输出对应的属性值。
如<s:Property value="tip">。
7,ActionContext类。
Struts2的Action并未直接与任何Servlet api耦合,从而更加方便测试该Action(可以通过脱离web容器测试Action)。
但是对于Web应用的控制器来说,不访问Servlet api 几乎是不能的。
例如跟踪HTTP session状态等。
访问的Servlet Api 就是HttpServeltRequest、HttpSession、ServletContext,这三个类分别jsp内置对象中的request、session、application。