话说前天碰到的问题,已经被一个好心的eye友给轻松解决了。真的非常感谢。
但今天又碰到一个问题。
而且跟前天碰到的其实应该是一类问题。
前天问题的解决方法,其实是换了一种途径。但我当时想用的方法为什么不行,我还是不清楚。
@Action(interceptorRefs={@InterceptorRef("authorization"), @InterceptorRef("restDefaultStack")})
public String update() {
ordersService.save(model);
addActionMessage("Order updated successfully");
return "success";
}
就是说,拦截器不能直接加在 method level 上面,而只能加在 Action.class级别。
问题的原因不清楚,但我想或许与没有指定 @Action(value="xxx")的value值有关!
如果只是使用struts2 的 convention 插件,当然可以指定value,但是rest方式下,标准的那7个方法如何指定别名呢?即便能够指定,也很奇怪!
为何说今天遇到的问题类似。因为我在完善action的返回值的处理的时候,发现Result竟然也无法加在method level上,而只能是 action.class上,与拦截器的问题一样。
代码如下:
@Action(
results={@Result(name="exception", type="httpheader", params={"status", "503", "errorMessage", "Internal Error"})}
)
public HttpHeaders show() {
int i = 1/0;
return new DefaultHttpHeaders("show").disableCaching();
}
@Action(results={@Result(name="exception", type="httpheader", params={"status", "504", "errorMessage", "Internal Error"})})
public HttpHeaders index() {
int i = 1/0;
list = ordersService.getAll();
return new DefaultHttpHeaders("index").disableCaching();
}
与官方文档对照再三,唯一的区别就是我没有指定 @Action 的 value 属性。
给上面这段代码的 @Action 加上 value 属性,果然不出所料。
本来下面的url可以访问某个order:
/orders/3.xml
如果添加了value,就只能写成:
/orders/show/3.xml --> @Action(value="/orders/show/")
这还叫rest么?
不明白,难道 struts2 rest plugin 就没办法指定 method level 的 Result 么?还有拦截器,也有这个问题。其实还有异常声明,也是。@ExceptionMapping也没法直接加在method level上,官方文档说行,那也是 Convention plugin ,换成rest,都不行了。
难道一点辙都没了?那我的程序该咋办啊,异常处理/返回结果值处理 都没法弄了。。。
狂晕中,老板让俺今天把这块儿东西做完,可是这个问题就像钉在那里一样,一点都无计可施。。。我的希望全寄托在mht19840918老兄身上了,盼大师能给在下指点一下迷津!
分享到:
相关推荐
【噩梦射手项目】"噩梦射手"可能是实训项目的名字,涉及地图生成、角色设定、行走和射击机制、怪物状态机、伤害计算、分数和血量系统等内容,通过这个项目,学生可以全方位地实践Unity游戏开发流程。 【实训总结】...
进度失控,几乎是每一个软件开发项目挥之不去的噩梦。如何从容赶急,如何通过正确的开发策略和原则,避免典型错误,有效地进行风险管理,从多个方面贯彻执行快速软件开发,都可以从本书中找到答案。本书借助于实际...
《噩梦射手》是一款基于Unity引擎开发的游戏项目,其源代码和资源文件的提供对于学习和研究Unity游戏开发具有很高的价值。本项目适用于Unity 2019或更高版本,这意味着它利用了Unity引擎的新特性、优化和更新,旨在...
同时,“课程设计”意味着它适合教学或自我学习,通过实际操作去理解游戏开发的核心概念和技术。 总结来说,"unity3d打地鼠和噩梦射手游戏完整项目源代码"是一个很好的学习资源,它涵盖了Unity3D的多个重要知识点,...
U3D官方经典游戏案例噩梦射手,Unity初学者的必选项目。
Survival Shooter是unity3d官方发布的一款适合unity游戏开发新手的小游戏,解压文件会有两个unitypackage,自行选择打开哪个。...2.在unity 中 window->navigation->All->bake.可以解决敌人不生成的问题
《Unity噩梦射手资源包》是一个为游戏开发者提供的完整项目资源,特别适合初学者和有经验的开发者用于学习和理解Unity引擎的使用。这个资源包包含了一款名为"噩梦射手"的游戏的所有必要元素,包括场景、角色、动画、...
年终总结PPT不在是噩梦
\年终总结PPT不在是噩梦.ppt \年终总结PPT不在是噩梦.ppt
"庄家的恶梦"是一个在通达信平台上的技术指标公式,其设计目的是帮助投资者识别市场中的庄家行为,以及散户、主力的资金动向,从而做出更明智的交易决策。 该指标的主要组成部分包括以下几个关键变量和条件: 1. `...
年终总结PPT不在是噩梦.pdf
噩梦示例 设置 git 克隆 $ git clone git@github.com:imunew/nightmare-example.git $ cd nightmare-example 安装 $ npm install 从 config.js.dist 创建 config.js $ cp test/config.js.dist test/config.js $ vi ...
丧尸有危机 生化危机4重生之恶梦Java版评测.pdf
噩梦D涌动.json
《哥谭噩梦1.0PC版(64位).zip》是一款基于Unity引擎开发的PC游戏,专为64位操作系统设计。Unity是全球广泛使用的跨平台游戏开发工具,以其强大的图形渲染能力、易用的脚本系统和丰富的资源库而闻名。这款游戏的制作...
这篇文章主要讲述了职场噩梦的真实案例,揭示了不良的职场环境对员工身心健康造成的严重影响。以下是对文章中提到的知识点的详细说明: 1. 领导风格对员工健康的影响:文章中提到了斯文娅和卡罗琳的案例,说明了...
所以在这里,我面临着一些最糟糕的噩梦。 虽然这个 repo 会随着我更深层次的恐惧和想法而发展,但最后这个 repo 应该包含一个动态网页来跟踪我正在处理的当前任务。 番茄钟计时器、任务列表和一些笔记。 但是功能...
初中语文文摘历史远去的噩梦
zhd e2e与开玩笑和噩梦测试框架 建立步骤 # install dependencies npm install # auto run e2e test and auto generate test report npm run docker 测试过程完成后,您可以打开浏览器并键入以查看测试报告。 玩...