package com.sais.inkaNet.login.interceptor;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
import org.apache.log4j.Logger;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
/**
* <p>类名称: [自定义trim拦截器]</p>
* <p>类描述: [过滤请求数据的首尾空格]</p>
* <p>所属模块: 上汽inkaNet项目</p>
* <p>创建时间 8/10/11 2:12 PM </p>
* @author zouqiang zouqiang@neusoft.com
* @version 1.0
*/
public class TrimInterceptor extends AbstractInterceptor {
private static final long serialVersionUID = 1L;
private static final Logger LOG = Logger.getLogger(TrimInterceptor.class);
/**
* <p>方法描述: [trime掉空格]</p>
*
* @param invocation 参数说明
*
* @return 返回结果的说明
*
* @throws Exception 抛出异常的原因
*/
public String intercept(ActionInvocation invocation) throws Exception {
LOG.info("过滤请求数据的首尾空格");
Map<String, Object> parameters = invocation.getInvocationContext().getParameters();
Set entrySet = parameters.entrySet();
String[] strings = null;
String[] values = null;
int strLength = 0;
for (Iterator it = entrySet.iterator(); it.hasNext();) {
Entry entry = (Entry) it.next();
Object key = entry.getKey();
Object value = entry.getValue();
if (value instanceof String[]) {
values = (String[]) value;//类型转换
strLength = values.length;
strings = new String[strLength];
for (int i = 0; i < strLength; i++) {
strings[i] = values[i].trim();
}
parameters.put((String) key, strings);
}
}
invocation.getInvocationContext().setParameters(parameters);
invocation.invoke();
return null;
}
}
分享到:
相关推荐
在这个场景中,我们将探讨如何使用Struts2拦截器来实现输入数据的过滤,特别是去除前后空格。 首先,我们需要理解拦截器的工作原理。在Struts2中,拦截器是基于责任链模式设计的,它们按照配置的顺序形成一个链条,...
### Struts2 拦截器与验证框架详解 #### 一、Struts2概述 Struts2是一个基于Java的企业级Web应用开发框架,它继承了Struts1的优点,并在此基础上进行了很多改进,使得开发更加灵活高效。Struts2的核心是拦截器...
Delphi 删除字符串首尾空格的实例,过滤字符串,替换字符串,删除指定部位的字符串,具体到本例中,是删除字符串开头和结尾处的空格,本例子其实简单,使用内置的Trim函数即可实现,可当作是Delphi Trim函数的用法...
### Struts2拦截器实现用户登录权限的验证 在Web应用开发中,用户登录权限验证是确保系统安全的重要环节之一。Struts2框架提供了一种灵活的方式来实现这一功能:通过自定义拦截器来控制用户的访问权限。下面我们将...
Struts2的核心控制器实际上是由一系列过滤器(Filter)组成的,其中最核心的是`StrutsPrepareAndExecuteFilter`。这意味着Struts2的核心控制器并不是一个传统的Servlet。 #### 2. Struts2在web.xml文件中的部署 - **...
Struts2是一个非常流行的Java Web开发框架,它提供了一种优雅的方式来组织和控制MVC(模型-视图-控制器)架构的应用程序。在Struts2中,验证框架是其核心特性之一,它允许开发者对用户输入的数据进行校验,确保数据...
2. 转换过程中如果出现异常,异常信息会被保存并由conversionError拦截器处理,封装到fieldError中。 3. 如果存在validateXxx()方法,会先调用该方法进行验证。 4. 接下来调用Action类的validate()方法进行全局验证...
下面的示例展示了如何添加Struts2过滤器: ```xml <filter-name>struts2 <filter-class>org.apache.struts2.dispatcher.FilterDispatcher <filter-name>struts2 <url-pattern>/* ``` 接着,在`struts.xml`...
Struts2是一个流行的Java web开发框架,用于构建MVC(模型-视图-控制器)架构的应用程序。在处理用户输入时,确保数据的有效性和正确性是至关重要的,这就是输入校验的作用。Struts2提供了内置的验证框架Struts2 ...
Struts2的核心特性之一就是其强大的验证机制,该机制允许开发者在请求到达控制器之前对用户输入进行检查,确保数据的完整性和正确性,从而避免潜在的运行时错误或安全漏洞。 ### Struts2验证框架的关键属性和语法 ...
3. **强大的拦截器机制**:Struts2的拦截器机制允许开发者在请求处理的过程中添加额外的功能,比如身份验证、日志记录等。 4. **丰富的插件系统**:Struts2拥有大量的插件,可以方便地扩展其功能,满足不同场景的...
在VB(Visual Basic)编程语言中,`Trim()` 函数是一个非常实用的字符串处理函数,它的主要作用是去除字符串首尾的空格。在实际编程过程中,我们经常会遇到需要清理用户输入或者数据处理时产生的多余空格,这时`Trim...
`trim()`用于去除字符串首尾的空白,而`replace()`配合正则表达式可以替换掉所有连续的空格、换行或tab。这样处理后的关键词更为精炼,能够更准确地匹配到目标内容。 在实际应用中,这个工具可以用于多种场景。例如...
2. 注册转换器:为了让Struts2知道使用哪个转换器,我们需要在struts.xml配置文件中声明我们的自定义转换器。可以使用`<conversion-property>`标签将转换器与特定的类型或类属性关联起来。 ```xml ...
拦截器是Struts2框架中的核心组件之一,它可以用来处理请求的前置和后置操作,如权限控制、日志记录等。 1. **拦截器声明**:在`struts.xml`文件中声明拦截器。 ```xml ``` 2. **使用拦截器**:在Action...
在Struts2框架中,`struts.xml`是一个核心配置文件,用于配置Action、拦截器、结果类型等。它定义了应用程序的行为和流程。文件必须遵循特定的DTD(Document Type Definition),以确保符合Struts2的标准格式。 ```...
2. PHP内置的trim函数:PHP提供了一个内置函数trim()用于移除字符串首尾的空白字符,但正如标题和描述中提到的,当需要过滤字符串中所有的空白字符时,仅靠trim()函数是不够的。 3. str_replace函数:是一个PHP内置...
- **作用**:该文件是 Struts 2 的核心配置文件,主要用于配置 Action 映射、拦截器等。 - **示例配置**: ```xml <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN...