zoukankan      html  css  js  c++  java
  • struts2 Convention插件零配置,使用注解开发

    从struts21开始,struts2不再推荐使用codebehind作为零配置插件,而是改用Convention插件来支持零配置。与以前相比较,Convention插件更彻底。

    使用Convention插件,需要将struts2-convention-plugin-2.3.1.2.jar文件复制到lib目录中即可

    这个插件是自动搜索action的功能:

      规则如下:它会自动搜索位于action,actions,struts、struts2包下的java类。

             Convention插件会把如下两种java类当成action处理:

             1.所有实现了com.opensymphony.xwork2.Action的java类

             2.所有类名以Action结尾的java类

      找到了对应的action类之后,Convention插件会按照约定部署这些action,部署这些action时,action,actions,struts,struts2包会映射为根命名空间,而这些包下的

      子包则被映射为对应的命名空间。

     

    这个插件的注解功能

      有时候对于struts2的应用,我们写了大量的xml配置,这个找到action,然后找配置,很不方便,结合注解开放,打开对应的action可以让人一目了然

       网上有很多前辈写了很多总结,我直接应用就可以了,哈哈

       引用:

           http://blog.csdn.net/oathevil/article/details/7084979

       convention 插件官方学习文档

      

      自个的测试代码

       

    package com.hu.web.action;//一定要在action、actions、struts、struts2 这种包下,不然插件扫描不到此action
    
    import org.apache.struts2.convention.annotation.Action;
    import org.apache.struts2.convention.annotation.Actions;
    import org.apache.struts2.convention.annotation.Namespace;
    import org.apache.struts2.convention.annotation.Result;
    import org.apache.struts2.convention.annotation.ResultPath;
    
    import com.opensymphony.xwork2.ActionSupport;
    
    @Namespace("/test")//访问test空间
    @ResultPath("/WEB-INF")//指定该action到/web-inf目录下寻找物理视图资源
    public class LoginAction extends ActionSupport {
    
        private String name;
        
        private String pwd;
    
        private String tip;
        
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getPwd() {
            return pwd;
        }
    
        public void setPwd(String pwd) {
            this.pwd = pwd;
        }
        
        
        
        public String getTip() {
            return tip;
        }
    
        public void setTip(String tip) {
            this.tip = tip;
        }
    
    
        @Actions({
            @Action(value="/test",results={
                    @Result(name="login",location="/index.jsp")
            }),
            @Action(value="/test1",params={"tip","当访问此action路径是,会注入tip属性值"})
        })
        public String login(){
            System.out.println(1);
            return "login";
        }
    }

    软件,让生活变得更简单......

  • 相关阅读:
    【LDAP】LDAP 中 CN, OU, DC 的含义
    【LDAP】LDAP介绍
    【LDAP】Openldap导入数据
    【LDAP】LDAP常用命令解析
    【Linux】debian 7 安装 rz sz lrzsz
    【Linux】Debian 8 设置命令行界面的文本颜色
    【Linux】Debian vim没有颜色的解决办法
    【计算机网络】一步一步学习IP路由流程
    【密码学】RSA密钥长度、明文长度和密文长度
    【密码学】CSP的概念
  • 原文地址:https://www.cnblogs.com/huzi007/p/4646700.html
Copyright © 2011-2022 走看看