比如我的一个aciton是做一个add操作,然后会返回一个新增的对象,请问拦截器里能获得这个action执行后的对象吗?求解啊
5条回答 默认 最新
- zyn010101 2013-08-07 18:48关注
[code="java"]
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;
}
}
[/code]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 关于#Java#的问题,如何解决?
- ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
- ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
- ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
- ¥15 cmd cl 0x000007b
- ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
- ¥500 火焰左右视图、视差(基于双目相机)
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化