Struts2问题,已解决No result defined for action and result 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相对应的请求页面也需要跟着设置:

 

第一种方法<s:form name=" register " action="/user/ register " >

 

可是这种方式会报一个警告,虽然不影响使用.但是更加好的写法是:(如下图)

 

 

<s:form action="register" namespace="/user">struts2标签中是支持这个属性

 因此以后在使用struts2时一定要再form中添加namespace属性来指定action的访问路径,同时指定result的存在路径即package的namespace属性路径。

 

原文地址:https://www.cnblogs.com/moonfans/p/3216537.html