现在的位置: 首页 > 综合 > 正文

Struts2 异常 Could not find action or result struts2默认命名空间和根命名空间

2018年08月20日 ⁄ 综合 ⁄ 共 705字 ⁄ 字号 评论关闭

加namespace="/"正解。
当时我是吧Action类放在多层包下,即package sdfi.actions;
出现
警告: Could not find action or result

但是只放一层包则不会出现问题,即指定package sdfi;

指定多层包,则struts.xml中配置package应加上namespace="/"

struts2默认命名空间和根命名空间

默认的命名空间“ namespace=""”,根命名空间 namespace="/"”。  

    <package name="test" extends="struts-default">,如果未指定命名空间,则命名空间默认为 namespace=""”。

    默认命名空间里的Action可以处理任何命名空间下的Action请求。例如,如果存在URL为/barspace/bar.action的请求,并且/barspace的命名空间下没有名为bar的Action,则默认命名空间下名为bar的Action也会处理用户请求。但根命名空间下的Action只处理根命名空间下的Action的请求,这是根命名空间和默认命名空间的区别。
    命名空间只有一个级别。如果请求的URL是/bookservice/search/get.action,系统将先在/bookservice/search的命名空间下查找名为get的Action,如果在该命名空间内找到名为get的Action,则由该Action处理用户的请求;如果未找到,系统将直接进入默认的命名空间中查找名为get的Action,而不会在/bookservice的命名空间下查找名为get的Action

抱歉!评论已关闭.