首页 > 代码库 > struts零配置的简单实现(四)

struts零配置的简单实现(四)

@Namesapce:用于指定Action的空间命名,用于修饰类

 

空间命名的就近原则:

  突然想一想,好像有好几个地方是可以设置空间命名的:

  1、包名

  2、@Action

  3、@Namespace

后来测试了一下发现它们的设置并不是叠加的,而是通过一种就近原则的方式来决定空间命名是什么

  package com.lzj.www.action.web;

  import org.apache.struts2.convention.annotation.Action;
  import org.apache.struts2.convention.annotation.Namespace;

  import com.lzj.www.base.action.BaseAction;
  import com.lzj.www.model.User;

  @Namespace("/strut")
  public class WebAction extends BaseAction<User> {

    @Action("/struts/test")
    public String testWeb(){
      return "web";
    }

    @Action("testPackage")
    public String testPackage(){
      return "package";
    }

  }

  对于testWeb的访问方式:http://localhost:8080/struts/test!testWeb

  其映射的页面为:struts文件夹下的test-web.jsp

  对于testPackage的访问方式:http://localhost:8080/strut/testPackage!testPackage

  其映射的页面为:strut文件夹下的testPackage-package.jsp

  如果把@Namespace注释掉,testPackage的访问方式:http://localhost:8080/web/testPackage!testPackage

  其映秀的页面为:web文件夹下的testPackage-testPackage.jsp

 

struts零配置的简单实现(四)