日期:2014-05-18  浏览次数:20666 次

struts2 No result defined for action .....其中之一的可能原因
今天做了一个关于struts2上传文件的练习
其中的struts.xml文件内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="test" extends="struts-default" namespace="/one">
<action name="upload" class="action.UploadAction">
<result name="success">/WEB-INF/js/upload_file.jsp</result>
</action>
<action name="show" class="action.ShowUpload">
<result name="success">/WEB-INF/js/upload_file.jsp</result>
</action>
</package>
</struts>    

在包actioin中定义了两类,分别为showUpload和UploadAction,
package action;

public class ShowUpload {
public String execute()
{

return "success";

}
}

package action;
import java.io.File;
public class UploadAction {
private File f=null;
public File getF() {
return f;
}

public void setF(File f) {
this.f = f;
}
public String execute()
{

System.out.println(f.getName());

return "success";

}
}
,其中的蹊跷是,
当struts.xml中的package的namespace不加时,提交页面后会出现no result:define for action.UploadAction .
而加上之后一切正常,请高人指点,谢谢。


struts Struts 命名空间

------解决方案--------------------
命名空间直接影响你的访问路径。。
那么你加上namespace,访问的是,http://localhost:80:部署名称/one/xx.action
去掉之后那就把访问路径的one去掉就可以了。。