Struts2
文章平均质量分 73
xiaoping8411
一个走在路上的人,前面有太多太多的路。一个为了学习与生活,要不停奔走的人。
展开
-
Struts2使用2-- Struts2的概述
Struts2是一个优雅的,可扩展的JAVA EE web框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。Struts2吸收了Struts1和WebWork两者的优势。Struts2的特性:l 一个基于Action的MVC Web框架。在这个模式中,Servlet是控制器,集中处理所有的客户端页面请求。它把所请求的URL与被称为A原创 2009-11-04 12:26:00 · 1042 阅读 · 0 评论 -
Struts2使用9 -- 转化器
Struts2.0内置的转换器 对于一此经常用到的转换器,如日期、整数或浮点数等类型,Struts 2.0已经为您实现了。下面列出已经实现的转换器。l 预定义类型,例如int、boolean、double等; l 日期类型, 使用当前区域(Locale)的短格式转换,即DateFormat.getInstance(DateFormat.SHORT);原创 2009-11-05 12:16:00 · 624 阅读 · 0 评论 -
Struts2使用12 -- 拦截器2 -- 配置
如果要在Action中激活依赖注入功能(或其他任何由拦截器提供的功能),就必须要对Action进行配置。和其他元素一样,许多拦截器都已经提供了默认的配置项。你只需要确认一下Action所在的Package继承了“struts-default”package。在配置一个新的拦截器之前,首先要对它进行定义。… />和… />标签都要直接放到标签里面。像我们上面提到的那些拦截器,它们的配置项就原创 2009-11-05 12:29:00 · 754 阅读 · 0 评论 -
Struts2使用14 -- 拦截器4 -- 自定义拦截器
实现拦截器,主要有以下三种方法:l 实现Interceptor接口Interceptor接口有三个方法:public interface Interceptor extends Serializable { void destroy(); void init(); String intercept原创 2009-11-05 12:36:00 · 816 阅读 · 0 评论 -
Struts2使用16 -- 值栈与 OGNL 1 -- 概述
值栈的含义正如它的名字所表示的那样——对象所组成的栈。OGNL的全称是Object Graph Navigational Language(对象图导航语言),提供了访问值栈中对象的统一方式。它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用原创 2009-11-05 12:46:00 · 98 阅读 · 2 评论 -
Struts2使用22 -- 注解配置4 -- 转换器注解
与“验证”类注解类似,“转换和容器”类注解为每一个使用了“*- conversion.properties”配置文件的对象都提供了相应的注解。注解 描述 KeyProperty 用于指定作为key 的属性Key 用作map的key的类型Element 用于容器l原创 2009-11-06 12:17:00 · 1712 阅读 · 0 评论 -
Struts2使用25 -- 声明
不知不觉在两天内,发布了24个strut2系列文章,希望能对大家的学习有一定的帮助。 首先,我要说明一下,这些内容都不是我原创的,而是我自己整理的,我整理成了一个word文档,然后发在博客里。我主要参考了《深入浅出Struts2》、《Struts2.0中文教程》以及张冰老师的视频教程,这里借机很感谢他们,大家可以在网上收到这些资料,当然可以向我索要,我会很乐意给大家的。当原创 2009-11-06 12:28:00 · 740 阅读 · 0 评论 -
Struts2使用1-- Struts2与Struts1的区别
l Action 类:n Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。n Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现 常用的接口。Action接口不是必须的原创 2009-11-04 12:20:00 · 968 阅读 · 0 评论 -
Struts2使用6 -- 如何接受请求和表单类型
Action为了执行操作,并为数据库持久化对象提供数据,就必须要访问请求字符串和表单中的数据。Struts2采用了JavaBean的风格——要访问数据的话,就给字段提供一个getter和setter,要访问请求字符串和表单也是一样的道理。每一个请求字符串和表单的值都是一个简单的名/值对,所以要设定一个特定名称的值的话,就要为它提供一个setter。比如,如果一个JSP调用了原创 2009-11-04 13:26:00 · 2057 阅读 · 1 评论 -
Struts2使用21 -- 注解配置3 -- 验证注解
任意一个XML配置的validator都有一个相应的注解。每一个注解的属性都和XML的配置很相似。还有些注解可以用来把一个类定义为使用基于注解的验证,或是配置自定义的validator,还可以把一个属性或类的验证进行分组。注解 相应的XML 描述RequiredFieldValidator required原创 2009-11-06 12:14:00 · 2871 阅读 · 0 评论 -
Struts2使用23 -- 国际化
所有的标签都是通过当前起作用的Locale来支持国际化的。比如说,“date”标签使用用户Locale来决定正确的日期格式;“actionerror”、“fielderror”和“actionmessage”标签都是通过声明式验证配置中所提供的key来获取要渲染的文本。还有一些其他的标签很值得关注。有两种方式可以编程式获取一个页面所需的国际化文本,它们都需要Action继承ActionS原创 2009-11-06 12:21:00 · 863 阅读 · 2 评论 -
Struts2使用24 -- 异常处理
在开发web应用时,需要处理不同种类的异常。有些异常是特定于服务或者正在调用的业务对象的——这些无法进行声明式处理,只能通过编程来处理它们。但是还有另外一些异常:l 无法处理,需要把用户重定向到一个错误页面,直到问题解决为止。这些常常是系统级别或者资源级别的问题,和Web应用的逻辑无关。因网络问题而导致的数据库连接失败就是这样一个例子。l 与逻辑无关,原创 2009-11-06 12:24:00 · 1090 阅读 · 0 评论 -
Struts2使用3-- Struts2的配置1-- web.xml 、struts.xml 配置
配置web.xml,配置Struts2的过滤器,例如: filter> filter-name>struts2filter-name> filter-class>org.apache.struts2.dispatcher.FilterDispatcherfilter-class>filter>filter-mapping>原创 2009-11-04 12:36:00 · 3819 阅读 · 0 评论 -
Struts2使用17 -- 值栈与 OGNL 2 -- 使用
访问属性名字属性获取:地址属性获取:访问方法调用值栈中对象的普通方法:访问静态属性和方法调用Action中的静态方法:调用JDK中的类的静态方法:调用JDK中的类的静态方法(同上):调用JDK中的类的静态方法:调用普通类中的静态属性:原创 2009-11-05 12:51:00 · 1360 阅读 · 1 评论 -
Struts2使用5 -- Action结果配置
Action最常用也是最基本的用法就是执行操作后返回单个结果。这种Action看上去就是这样的:class MyAction { public String execute() throws Exception { return "success"; }}这样简单的几行代码当然说原创 2009-11-04 13:12:00 · 841 阅读 · 0 评论 -
Struts2使用7 -- 如何获取request、session?
l 与Servlet容器无关获取的方法(非IoC)获取方法 与servlet无关: 非IoCActionContext get(Object) , getSession , getApplication这三个方法分别能够获取Map类型的request,session,application获取时首先需要获取一个ActionContext对象,然后再调用上面的三个方原创 2009-11-04 13:48:00 · 993 阅读 · 0 评论 -
Struts2使用8 -- 通配符映射
/{1}/update{2}.jsp /{1}/list.jsp在action的名字中,每一个星号都是一个通配符。在这个例子中,我们全都用了星号——其实也不必如此。比如说,如果你想要把所有对实体的view动作映射到一起,那么类似于“name=”/*/View*”这样的配置就能完成要求。形如{1},{2}等等的标原创 2009-11-04 13:52:00 · 1003 阅读 · 0 评论 -
Struts2使用18 -- 结果类型
概述: 在前面我们已经演示过如何配置Action来向用户返回一个JSP。但这只是Action的结果之一。Struts 2里面提供了多种结果类型,有些是可见的,有些只是与运行环境之间的交互。“type”属性被用来配置Action的结果类型,如果没有配置该属性的话,那么默认类型就是“dispatcher”,它将会渲染一个JSP结果并返回给用户。下面就是这样的Action配置:原创 2009-11-05 12:57:00 · 1318 阅读 · 0 评论 -
Struts2使用19 -- 注解配置1 -- Action注解配置
在Action中提供了下列几种注解:ParentPackageNamespaceResultResults注解描述Namespace所期望的命名空间(在“struts.xml”文件中也有定义)的字符串值ParentPackage所期望的父package的字符串值原创 2009-11-05 13:05:00 · 4415 阅读 · 0 评论 -
Struts2使用20 -- 注解配置2 -- 生命周期回调注解(拦截器注解)
关于方法级的生命周期回调的注解一共有三种,每一种都是在Action处理过程中的特定时刻被调用的。生命周期回调与拦截器及Action代理不同,它们特定于被调用的Action类存在的,并不是那种可以在多个Action中使用的单个的类。注解描述Before被注解的方法会在Action的逻辑执行前被调用。BeforeR原创 2009-11-05 14:17:00 · 2270 阅读 · 0 评论 -
Struts2使用4-- Struts2的配置2-- Struts.properties 属性文件
是Struts2的配置文件,默认叫default.properties文件。它配置struts的默认配置,例如:struts2的默认配置 为action就是在该文件中定义。这个文件提供了一种更改框架默认行为方式的机制。在一般情况下,如果不是打算让调试更加方便的话,你根本无须更改这个文件。在“struts.properties”文件中定义的属性都可以在“web.xml”文件的“i原创 2009-11-04 12:53:00 · 2381 阅读 · 0 评论 -
Struts2使用10 -- Action验证
在Struts2应用中提供验证的方式有两种——编程式和声明式。编程式验证要提供编程式验证的话,action就要实现Validateable接口。该接口只有一个方法,在方法中需要执行验证操作:void validate();为了将验证中出现的问题反馈给用户,action还需要实现ValidationAware接口。这个接口更为复杂一些,它里面的方法可以用来添加验证错误,判断当前是否有验原创 2009-11-05 12:18:00 · 983 阅读 · 0 评论 -
Struts2使用11 -- 拦截器1 -- 概述
Struts2中提供的很多特性都是通过拦截器实现的,例如异常处理,文件上传,生命周期回调与验证。拦截器从概念上来讲和Servlet过滤器或者JDK 的Proxy类是一样的。它提供了一种对Action进行预处理和事后处理的功能。和Servlet 过滤器一样,拦截器可以被分层和排序。它还可以访问所执行的Action和所有的环境变量与执行属性。Struts2内建了大量的拦截器,这些拦截器以na原创 2009-11-05 12:23:00 · 799 阅读 · 0 评论 -
Struts2使用13 -- 拦截器3 -- 内置拦截器
名称描述alias实现在不同请求中相似参数别名的转换。autowiring这是个自动装配的拦截器,主要用于当Struts2和Spring整合时,Struts2可以使用自动装配的方式来访问Spring容器中的Bean。chain构建一个Action链,使当前Ac原创 2009-11-05 12:33:00 · 801 阅读 · 0 评论 -
Struts2使用15 -- 拦截器5 -- 实例
实例一:防止表单重复提交防止重复提交:有两种方法:一是使用token拦截器,二是使用tokenSession第一种方法步骤:1、 先在页面中放一个令牌。调用Struts标签,服务器自动分派。2、 在struts.xml文件定义token拦截器。 3、 在struts.xml文件配置有重复提交的错误页面,即:原创 2009-11-05 12:37:00 · 643 阅读 · 0 评论 -
Struts2使用26 -- Convention插件
1.1.设置结果页面路径<br />默认所有的结果页面都存储在WEB-INF/content下,你可以通过设置struts.convention.result.path这个属性的值来改变到其他路径。如:<br />Xml代码:<br /><constant name="struts.convention.result.path" value="/WEB-INF/page" /><br /> <br />则将路径配置到了WEB-INF/page 下。1.2.设置Convention搜索包<br />默认包路径原创 2010-06-02 10:48:00 · 3584 阅读 · 1 评论