昨晚上花了将近45分钟才解决…怪我没找到好文章说明这个问题…那时候太急了都忘记时间了..
(首先我用的myeclipse9.0,用自带的导入了struts2.1版本的类库)
(网上搜索大量说是没在struts.xml中配置input,路径,等等问题,发现这些都不是属于我的)
而我的原因很简单:
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相对应的请求页面也需要跟着设置:
第一种方法
可是这种方式会报一个警告,虽然不影响使用.但是更加好的写法是:(如下图)
struts2标签中是支持这个属性