关于拦截器的return 返回值问题。
来源:互联网 发布:dota2如何公开数据 编辑:程序博客网 时间:2024/04/29 18:42
第一种情况:Action继承了ActionSupport父类,就会执行execute()方法,这是入口。即使你的Action类(必须是继承了ActioSupport父类)中不重写execute()方法,也会自动调用父类的execute()方法,父类的execute默认返回的是字符串是SUCCESS.
另一种情况:就是Action没有继承ActionSupport父类,这是不值得提倡的。 里面可以自己写很多方法函数。通过通配的方法调用 Action中指定的方法。通过指定路径访问(通配符实现) 一般写法如下:<package name="" namespace="/" extends="strutsdefault" > <action name="test_*" class="cn.itcast.Action.TestAction" method="{1}"> 访问路径http://localhost:8080/intecepter/test_save 其中intecepter项目名称,test_save指定save()方法。
不管是哪一种情况,一旦经过拦截器到达Action 后,个人认为其实他也就说明了前面的拦截器都通过啦,拦截器的作用已经达到(没有错误,所以没拦截,才到达Action)此时返回的jsp页面是action 决定的。经过action后又逆向经过拦截器栈,此时都一定会在执行各自拦截器中invocation.invoke()方法后的其他后续操作,但其后的return 返回字符串其实不在起作用,也绝不会定向到字符串所指的页面。(可能会起到最后结束这个拦截器的作用吧 这一点不清楚 无法改变源码中接口 不能把intercept()变成void类型??所以还未证实)。
拦截器的作用顾名思义,就是对指定Action起拦截作用。所以一旦拦截到错误,就会定向到指定页面,这时 return 返回字符串就起到了 关键作用,可能这就是拦截器public String intercept() 为什么要求是string类型 拦截器中发现不符合要求就会返回字符串中断拦截器从而定向到指定页面,这时其后也就不会在执行什么invocation.invoke();所以不存在return 返回字符串语句写在invocation.invoke()方法之前,默认拦截器中return result;返回的都是invocation.invoke(),实际上就是最后变成execute()返回的字符串。
- 关于拦截器的return 返回值问题。
- 请问关于 返回 return的问题
- python:关于函数返回return的问题
- 关于return返回值
- C/C++ return返回值的问题
- finally里面的return返回值问题
- 关于JAVA的try catch finally的return返回值问题
- 关于JAVA的try catch finally的return返回值问题
- 关于JAVA的try catch finally的return返回值问题
- js中关于return返回值的用法
- linux中errno的使用以及return返回值问题
- return与finally的执行顺序与返回值问题
- return 的返回值作用,
- return返回值的作用
- 关于C++中return返回值
- 关于return返回
- struts返回( return)的问题
- JavaScript中return返回函数的问题
- Android:用定时器 timer 刷新界面
- Log4j配置实例(log4j.xml)
- YII Framework学习教程-用YIIC快速创建YII应用之三-2011-11-11
- 设计模式之---单件模式
- Java基础复习笔记12Java自定义注解Annotation的使用
- 关于拦截器的return 返回值问题。
- 内核调度器的演化
- 云费用
- 爱心编程
- 腾讯的微博开放平台,无语了
- flex自定义组件button实现关闭
- 最快学习MVC、EF的途径
- C的存储区
- Absolutely Buggy II - Absolute boxes inside relative boxes