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类型