zoukankan      html  css  js  c++  java
  • 关于struts2拦截器获取页面参数

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

  • 相关阅读:
    用Fiddle跟踪调试移动表单
    查找指定表、字段上面的默认值约束
    sql跳过非工作日(周末和节假日)
    python学习(一)
    charles抓包
    jemeter简单压测
    jemeter接口测试
    postman接口测试
    接口测试基础知识学习
    定期小结
  • 原文地址:https://www.cnblogs.com/mengziHEHE/p/3149179.html
Copyright © 2011-2022 走看看