struts2.xml 中使用*拦截所有action,统一处理问题
Struts2 的配置文件:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"> <struts> <constant name="struts.devMode" value="true" /> <!--返回数据--> <package name="jsonPackage" extends="json-default"> <action name="*_*" method="{1}" class="com.zsw.frame.action.{2}Action"> <!--返回json数据--> <result name="jsonData" type="json"> <param name="root">responseData</param> </result> </action> </package> </struts>
这是action代码:
public class UserAction extends AbstractJsonAction{ public String index1() { String json = sendJsonData(new RespData<User>().success()); return json; } public String index() { String html = redirectHtml("html/error.jsp"); System.out.println(html); return html; } public String uploads() { RespData<?> respData = new RespData<Object>(); return sendJsonData(respData.success()); } }
问题:
这种方式只能访问 User_index.action中的index方法, 不能访问UserAction中的其他方法,如访问:User_index1.action,则报如下错:
Struts Problem Report
Struts has detected an unhandled exception:
Messages: |
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
谢谢你们啊,,还是英文不够好,,不然看文档就不会有这些问题了
引用来自“zhsw”的评论
我晚上测试了一下,2.3的版本这样写是可以的,原来2.5版本要在package上添加
我晚上测试了一下,2.3的版本这样写是可以的,原来2.5版本要在package上添加
即使把,action中的1,2对换也貌似访问不了,此处是我写错了,因为改了很多次了。直接写死配置是能访问各个方法的。
第一个“*”对应method方法,你确定你访问的对??