struts2.1.8 必须在struts.xml中配置namespace属性
如果你在2.0中一切OK,但是在2.1中确出现了No result defined for action的异常,就是在因为在2.1中有一个插件struts2-convention-plugin-2.1.8.jar,这个插件是2.1版本中新添加的默认核心包,这个插件是实现Struts2的零配置,必须引入namespace命名空间,否则就会出现刚才的No result defined for action的异常
这里需要补充的事,其中也有一种可能:
假如你的浏览器是中文优先(浏览器的“语言”选项中可以设置的),
而其中有一个表单要求输入的是Date类型,那应该输入2010-10-2,这种横杠方式。
如果是英语优先那就必须填入10/2/2010,不然可能也出现这种情况。)
解决办法:(如下图)
在struts.xml中如下配置,添加一个namespace属性,名称任意,建议取得有意义。
而JSP相对应的请求页面也需要跟着设置:
第一种方法<s:form name=" register " action="/user/ register " >
可是这种方式会报一个警告,虽然不影响使用.但是更加好的写法是:(如下图)
<s:form action="register" namespace="/user">struts2标签中是支持这个属性
因此以后在使用struts2时一定要再form中添加namespace属性来指定action的访问路径,同时指定result的存在路径即package的namespace属性路径。