Struts2系列教程之拦截器实例



Struts2系列教程之拦截器实例。

实例一:防止表单重复提交

防止重复提交:有两种方法:一是使用token拦截器,二是使用tokenSession
第一种方法步骤:
1、 先在页面中放一个令牌。调用Struts标签,服务器自动分派。<s:token></s:token>
2、 在struts.xml文件定义token拦截器。
<interceptor-ref name=”token”></interceptor-ref>
<interceptor-ref name=”defaultStack”></int[......]

Read more

Struts2系列教程之拦自定义拦截器实例源码介绍



Struts2系列教程之拦自定义拦截器实例源码介绍,实现拦截器,主要有以下三种方法:

l         实现Interceptor接口

Interceptor接口有三个方法:

public interface Interceptor extends Serializable {

void destroy();

void init();

String intercept(ActionInvocation invocation) throws Exception;

}

l         继承AbstractInterceptor抽[......]

Read more

Struts2系列教程之内置拦截器相关参数介绍

Struts2系列教程之内置拦截器相关参数介绍。

名称
描述

alias
实现在不同请求中相似参数别名的转换。

autowiring
这是个自动装配的拦截器,主要用于当Struts2和Spring整合时,Struts2可以使用自动装配的方式来访问Spring容器中的Bean。

chain
构建一个Action链,使当前Action可以访问前一个Action的属性,一般和<result type=”chain” …/>一起使用。

conversionError
这是一个负责处理类型转换错误的拦截器,它负责将类型转换错[......]

Read more

Struts2系列教程之拦截器配置实例源码介绍

Struts2系列教程之拦截器配置实例源码介绍,如果要在Action中激活依赖注入功能(或其他任何由拦截器提供的功能),就必须要对Action进行配置。和其他元素一样,许多拦截器都已经提供了默认的配置项。你只需要确认一下Action所在的Package继承了“struts-default”package。

在配置一个新的拦截器之前,首先要对它进行定义。<interceptors … />和<interceptor … />标签都要直接放到<package>标签里面。像我们上面提到的那些拦截器,它们的配置项就是这样的:

 [......]

Read more

Struts2系列教程之拦截器概述

Struts2系列教程之拦截器概述,Struts2中提供的很多特性都是通过拦截器实现的,例如异常处理,文件上传,生命周期回调与验证。拦截器从概念上来讲和Servlet过滤器或者JDK 的Proxy类是一样的。它提供了一种对Action进行预处理和事后处理的功能。和Servlet 过滤器一样,拦截器可以被分层和排序。它还可以访问所执行的Action和所有的环境变量与执行属性。
Struts2内建了大量的拦截器,这些拦截器以name-class对的形式配置在struts-default. xml文件中,其中name是拦截器的名字,就是以后使用该拦截器的唯一标识;class则指定了该拦截器的实现类[......]

Read more

Struts2系列教程之转化器的应用实例

Struts2系列教程之转化器的应用实例,Struts2.0内置的转换器 ,对于一此经常用到的转换器,如日期、整数或浮点数等类型,Struts 2.0已经为您实现了。下面列出已经实现的转换器。

l         预定义类型,例如int、boolean、double等;

l         日期类型, 使用当前区域(Locale)的短格式转换,即DateFormat.getInstance(DateFormat.SHORT);

l         集合(Collection)类型, 将request.getParameterValues(String arg)返回的字符串数据[......]

Read more

Struts2系列教程之通配符映射实例源码介绍

Struts2系列教程之通配符映射实例源码介绍。

<action name=”*/*/*” method=”{3}” class=”com.struts.actions.{1}.{2}Action”>

<result name=”view”>/{1}/update{2}.jsp</result>

<result name=”list”>/{1}/list.jsp</result>

</action>

在action的名字中,每一个星号都是一个通配符。在这个例子中,我们全都用了星[......]

Read more

Struts2系列教程之如何接受请求和表单类型实例源码介绍

Struts2系列教程之如何接受请求和表单类型实例源码介绍,Action为了执行操作,并为数据库持久化对象提供数据,就必须要访问请求字符串和表单中的数据。

Struts2采用了JavaBean的风格——要访问数据的话,就给字段提供一个getter和setter,要访问请求字符串和表单也是一样的道理。每一个请求字符串和表单的值都是一个简单的名/值对,所以要设定一个特定名称的值的话,就要为它提供一个setter。比如,如果一个JSP调用了“/home.action?framework=struts&version=2”这样一个请求,那么action就应该提供如下两个setter:“s[......]

Read more

Struts2系列教程之Action结果配置实例源码介绍

Struts2系列教程之Action结果配置实例源码介绍。Action最常用也是最基本的用法就是执行操作后返回单个结果。这种Action看上去就是这样的:

class MyAction {

public String execute() throws Exception {

return “success”;

}

}

 

这样简单的几行代码当然说明不了什么。但首先,这个Action类不需要继承其它类,也不需要实现其他接口。这样的类就是一个简单的POJO。

其次,在这个类中有一个名为“execute”的方法。这个方法名是依[......]

Read more

Struts2如何获取request、session教程实例源码介绍

Struts2如何获取request、session教程实例源码介绍。与Servlet容器无关获取的方法(非IoC)

获取方法 与servlet无关: 非IoC

ActionContext get(Object) , getSession , getApplication这三个方法分别能够获取Map类型的request,session,application

获取时首先需要获取一个ActionContext对象,然后再调用上面的三个方法

注意:如果使用此方法,则必须在execute()方法中进行初始化,例如:

 

ActionContext[......]

Read more