Struts2中action调用的一个问题发现
2015-04-04 11:36
399 查看
引子
我们都知道Struts2页面的跳转,先是从jsp页面上提交一个action请求,然后根据在Struts中配置情况,对应到一个执行类上,然后再根据执行类的返回结果配置result标签,从而转发到另一个页面或者是action。
在这些传递的过程中,有一些我们在页面中设置的属性值也会随之传递,有点像是依赖注入。
要想实现页面的丰富跳转,跳转的中转站:result的标签的作用不可小视。当然了,也需要action类的强大支持。
问题
我在跳转时,遇到了这样一个问题。
就是我从我的当前页面出发,通过“chain”类型的跳转,跳到了另外一个包中。然后根据其中的action类,返回一个结果,跳到该包所对应的文件下的一个JSP页面。这个包中跳转时我用的result类型是默认值。(dispatcher)
从这个页面出发,我提交的action请求却没有办法正常响应。一看错误,竟然是namespace的配置有问题。
这个问题是:namespace所用的命名空间是我最初的那个页面所在的命名空间。它没有自动转变成我当前页面的JSP所在的命名空间。也就是说,Struts是自动把它当做第一个页面的请求来进行处理的。而是事实是,它不是第一个页面所发出的请求。
问题分析清楚了,解决起来也是非常的容易的。很有可能是我当前的页面被与我的第一个页面连起来了。所以解决的办法就是断开这种连接。那就是使用“redirect”类型的result的进行转发。
结果问题就这样解决了。
(也许纯文字的描述太不清晰,可是如果结果实际代码讲解恐怕更加的看起来复杂。其实这本身又不是一个复杂的问题。欢迎评论,进行讨论!)
本文出自 “海流之石” 博客,转载请与作者联系!
我们都知道Struts2页面的跳转,先是从jsp页面上提交一个action请求,然后根据在Struts中配置情况,对应到一个执行类上,然后再根据执行类的返回结果配置result标签,从而转发到另一个页面或者是action。
在这些传递的过程中,有一些我们在页面中设置的属性值也会随之传递,有点像是依赖注入。
要想实现页面的丰富跳转,跳转的中转站:result的标签的作用不可小视。当然了,也需要action类的强大支持。
问题
我在跳转时,遇到了这样一个问题。
就是我从我的当前页面出发,通过“chain”类型的跳转,跳到了另外一个包中。然后根据其中的action类,返回一个结果,跳到该包所对应的文件下的一个JSP页面。这个包中跳转时我用的result类型是默认值。(dispatcher)
从这个页面出发,我提交的action请求却没有办法正常响应。一看错误,竟然是namespace的配置有问题。
这个问题是:namespace所用的命名空间是我最初的那个页面所在的命名空间。它没有自动转变成我当前页面的JSP所在的命名空间。也就是说,Struts是自动把它当做第一个页面的请求来进行处理的。而是事实是,它不是第一个页面所发出的请求。
问题分析清楚了,解决起来也是非常的容易的。很有可能是我当前的页面被与我的第一个页面连起来了。所以解决的办法就是断开这种连接。那就是使用“redirect”类型的result的进行转发。
结果问题就这样解决了。
(也许纯文字的描述太不清晰,可是如果结果实际代码讲解恐怕更加的看起来复杂。其实这本身又不是一个复杂的问题。欢迎评论,进行讨论!)
本文出自 “海流之石” 博客,转载请与作者联系!
相关文章推荐
- 发现Struts2 Action 名称大小写问题一个
- struts2中action调用两次问题
- Struts2一个Action内包含多个请求处理方法的处理,method的使用方法,struts2中的路径问题,通配符映射
- 使用Struts2动态方法调用时(DMI)出现There is no Action mapped for namespace [/user] and action name [user!add] 问题
- Struts2中Action方法的动态调用(一个Actiong有两个方法)
- struts2关于多用户同时请求一个action会不会报错问题
- Struts2-Action-4-系列问题(路径、调用Action的自定义方法、通配符)
- struts2中action调用两次问题
- Struts2一个Action内包含多个请求处理方法的处理,method的使用方法,struts2中的路径问题,通配符映射
- struts2 配置测试ajax时发现action方法调用两次
- Struts2一个Action内包含多个请求处理方法的处理,method的使用方法,struts2中的路径问题,通配符映射 (
- JS Cookie 路径问题(发现在不同的目录下,调用同一个js方法来存储Cookie,到别的目录取不出或取出的值是不对的)
- struts2 中action的可重用性体现在:一个action可为不同请求所调用并完成不同的功能
- Struts2开发中在一个action中调用令一个action
- Jquery跨域调用struts2的Action返回json数据易出现的问题
- 动态方法调用 在Struts2中动态方法调用有三种方式,动态方法调用就是为了解决一个Action对应多个请求的处理,以免Action太多 第一种方式:指定method属性 这种方式我们前面已经用到过
- 开发问题-声明一个类时调用它里面的方法发现不能调用
- Struts2之动态方法调用(优点:调用同一个action中的多个方法不需要在配置文件中写多个指向相同action类的的action节点只需要一个action节点就行)
- Struts2中DMI(动态方法调用)的错误问题(There is no Action mapped for namespace [/xxx] and action name [xxx!yyy] a)
- Jquery跨域调用struts2的Action返回json数据易出现的问题