博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于struts2拦截器获取页面参数
阅读量:5010 次
发布时间:2019-06-12

本文共 2235 字,大约阅读时间需要 7 分钟。

package InterCeptor;

import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

import org.apache.commons.fileupload.disk.DiskFileItem;

import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.struts2.components.FieldError;

import sun.reflect.FieldInfo;

import check.CheckRegister;

import com.opensymphony.xwork2.ActionInvocation;

import com.opensymphony.xwork2.interceptor.Interceptor;
import com.opensymphony.xwork2.util.ValueStack;

import com.sun.jndi.url.iiopname.iiopnameURLContextFactory;

import com.sun.org.apache.bcel.internal.generic.NEW;

 

public class MyInterceptor implements Interceptor {

public void destroy() {

DiskFileItemFactory factory=new DiskFileItemFactory();
}

public void init() {

}

public String intercept(ActionInvocation invocation) throws Exception {

System.out.println("befor");
Map map=invocation.getInvocationContext().getParameters();
ValueStack stack=invocation.getInvocationContext().getValueStack();
System.out.println(stack.findString("username"));
Set set= map.entrySet();
Iterator iterator=set.iterator();
while(iterator.hasNext())
{
Entry entry= (Entry) iterator.next();
System.out.println(entry.getKey());
Object vObject=entry.getValue();
if(vObject instanceof String[])
{
String[] vStrings=(String[])vObject;
for(int i=0;i<vStrings.length;i++)
{
vStrings[i]=vStrings[i].trim();
System.out.println("长度="+vStrings.length);
System.out.println("vstring="+vStrings[i]);
}
}
//System.out.println(entry.getValue());
// System.out.println(invocation.getInvocationContext().getValueStack());
}
//String userString=(String) map.get("username");
//System.out.println("username+="+userString);
String temp=invocation.getInvocationContext().getName();
/*Class<CheckRegister> cg=(Class<CheckRegister>) Class.forName(temp);
java.lang.reflect.Field []field=cg.getFields();
for(int i=0;i<field.length;i++)
{
System.out.println("field="+field[i].getName());
}*/

String result=invocation.invoke();

System.out.println("result="+result);

System.out.println("after");

//System.out.println("username+="+userString);
System.out.println(temp+"=temp");
return result;
}

}

通过判断类型可知是string数组类型而不是单纯的string类型

转载于:https://www.cnblogs.com/mengziHEHE/p/3149179.html

你可能感兴趣的文章
POJ 1860 Currency Exchange(SPFA 判断有无“正”环)
查看>>
angular6项目中使用scss
查看>>
书籍阅读目录(给愚钝的自己)
查看>>
-[UIKeyboardLayoutStar release]: message sent to deallocated instance
查看>>
无法执行该操作,因为链接服务器 "XXX" 的 OLE DB 访问接口 "SQLNCLI10" 无法启动分布式事务。...
查看>>
JDK7 新特性
查看>>
广告地址屏蔽
查看>>
收缩SqlServer数据库日记方法
查看>>
每日英语:15 places to find inspiration
查看>>
as3播放视频卡的解决方法
查看>>
python3 re模块正则匹配字符串中的时间信息
查看>>
BCP IN示例
查看>>
cacheline基本理论
查看>>
Linux-信号
查看>>
font-awesome
查看>>
数学专业的数学与计算机专业的数学的比较(转)
查看>>
力扣—— 删除字符串中的所有相邻重复项
查看>>
期末总结
查看>>
哎呀,我老大写Bug啦——记一次MessageQueue的优化
查看>>
Hive 的基本概念
查看>>