比如我的一个aciton是做一个add操作,然后会返回一个新增的对象,请问拦截器里能获得这个action执行后的对象吗?求解啊
public class ViewInterceptor extends AbstractInterceptor{
public String intercept(ActionInvocation invocation) throws Exception {
String s = invocation.invoke();
Object action = invocation.getInvocationContext().get("action");
System.out.println("action---"+action.getClass());
if(action instanceof StudentRegisterListAction){
StudentRegisterListAction sa = (StudentRegisterListAction)action;
System.out.println(sa.getIdCard());
System.out.println(sa.getUserName());
}
Field[] fields = action.getClass().getDeclaredFields();
Method[] methods = action.getClass().getMethods();
for(Field field: fields){
Class c = field.getType();
System.out.println("字段类型--------"+c.getName());
System.out.println("字段名称--------"+field.getName());
if(field.isAccessible()){
System.out.println(field.get(action));
}else{
String methodName = "get"+field.getName().substring(0, 1).toUpperCase()+field.getName().substring(1,field.getName().length());
System.out.println(methodName);
for(Method m: methods){
// System.out.println("方法名---"+m.getName());
if(m.getName().equals(methodName)){
System.out.println("字段值-----"+m.invoke(action, null));
}
}
}
}
return s;
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。