zoukankan      html  css  js  c++  java
  • struts2 convention-plugin

    导入这个插件,该插件的作用是替换掉struts.xml 原则是没有配置,全是约定

    基本步骤

      1.新建HomeAction,里面有个execute方法return success,请求home.action就这样就能执行这个

        约定:home就是以前配置中的action的name属性值,没有方法名就默认execute

            HomeAction→home.action
            StudentHomeAction→student-home.action

         包名,请求的action必须放在action,actions,strut,struts中
            com.kaishengit.action.HomeAction → /home.action
            com.kaishengit.action.product.HomeAction → /product/home.action
            com.kaishengit.action.product.type.HomeAction → /product/type/home.action

      2.添加jsp文件.文件名定义为home-success.jsp,就这样就能到达这个jsp 该文件必须在一个content文件夹内,但是可以修改这个    文件夹

            <constant name="struts.convention.result.path" value="/WEB-INF/views/"/>

            /home.action success →/WEB-INF/content/home-success.jsp
            /home.action input → /WEB-INF/content/home-input.jsp
            /product/home.action success → /WEB-INF/content/product/home-success.jsp

      3.对于请求方法和跳转方式要靠注解来实现

          在Homeaction中定义另一种方法
          @Action("main")加上注解,添加main-success.jsp请求locallhost/main.action

    @Action("main")
    public String main() {
        return SUCCESS;
    }

    跳转
    对于params,奇数代表键,偶数个代表值

    @Action(value="login",results={
                    @Result(name="success",type="redirectAction",params={"namespace","/admin","actionName","main"}),
                    @Result(name="input",type="redirectAction",params={"namespace","/admin","actionName","home","error","1001"})
                })
     public String login() {
         Admin currAdmin = adminService.login(admin);
         if(currAdmin == null) {
              return INPUT;
          } else {
               putSession("curr_Admin", currAdmin);
              return SUCCESS;
             }
      }

    4.对于主配置文件,struts.xml的常量设置,拦截器,global-result还是要自己配置

      但是对于过滤器什么的,convention是存在默认包的.所以要修改才行
      <constant name="struts.convention.default.parent.package" value="basePackage"/>

    5.命名空间 

    com.kaishengit.action.product.HomeAction → /product/home.action
    可以com.kaishengit.action.HomeAction→ /product/home.action
    要在HomeAction上注解@namespace("product")
    这时候请求到达的jsp都要在/content/product/xxxx

  • 相关阅读:
    Kubernetes节点维护
    Kubernetes helm配置国内镜像源
    windows universal app中使用mvvm light
    windows phone 开发常用小技巧
    异步编程中的最佳做法(Async/Await) --转
    windows phone 开发常用小技巧
    windows phone 开发常用小技巧
    windows phone 开发常用小技巧
    #假期归来# 看看国外开发者第一时间用swift写的Flappy Bird (2014.6.3)
    vs2013 TFS如何彻底删除团队项目
  • 原文地址:https://www.cnblogs.com/itliucheng/p/4462191.html
Copyright © 2011-2022 走看看