码迷,mamicode.com
首页 > 其他好文 > 详细

struts2 convention-plugin

时间:2015-04-28 11:07:23      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

导入这个插件,该插件的作用是替换掉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

 

struts2 convention-plugin

标签:

原文地址:http://www.cnblogs.com/itliucheng/p/4462191.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!