zoukankan      html  css  js  c++  java
  • Struts2基于注解的Action配置

                           Struts2基于注解的Action配置

     开馆第一遍,写的不好请多多见谅。如有雷同多多见谅。

               使用注解来配置Action的最大好处就是可以实现零配置,但是事务都是有利有弊的,使用方便,维护起来就没那么方便了。把访问的action的配置放到action

    bean中。

     

     

    要使用注解方式,我们必须添加一个额外包:struts2-convention-plugin-2.x.x.jar。

    总结常用的注解如下:

    Namespace:指定命名空间。

    ParentPackage:指定父包。

    Result:提供了Action结果的映射。(一个结果的映射)

    Results:“Result”注解列表

    ResultPath:指定结果页面的基路径。

    Action:指定Action的访问URL。

    Actions:“Action”注解列表。

    ExceptionMapping:指定异常映射。(映射一个声明异常)

    ExceptionMappings:一级声明异常的数组。

    InterceptorRef:拦截器引用。

    InterceptorRefs:拦截器引用组。

    1.struts2的基本设置 一般在开发中是不用都配置上的可以有意的选着。

    <?xml version="1.0" encoding="UTF-8" ?> 

    <!DOCTYPE struts PUBLIC 

        "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN" 

        "http://struts.apache.org/dtds/struts-2.1.7.dtd"> 

       

    <struts>   

        <!-- 请求参数的编码方式--> 

        <constant name="struts.i18n.encoding" value="UTF-8"/> 

        <!-- 指定被struts2处理的请求后缀类型。多个用逗号隔开--> 

        <constant name="struts.action.extension" value="action,do,htm"/> 

        <!-- 当struts.xml改动后,是否重新加载。默认值为false(生产环境下使用),开发阶段最好打开  --> 

        <constant name="struts.configuration.xml.reload" value="true"/> 

        <!-- 是否使用struts的开发模式。开发模式会有更多的调试信息。默认值为false(生产环境下使用),开发阶段最好打开  --> 

        <constant name="struts.devMode" value="false"/>   

        <!-- 设置浏览器是否缓存静态内容。默认值为true(生产环境下使用),开发阶段最好关闭  --> 

        <constant name="struts.serve.static.browserCache" value="false" /> 

        <!-- 指定由spring负责action对象的创建    

        <constant name="struts.objectFactory" value="spring" /> 

        --> 

        <!-- 是否开启动态方法调用--> 

        <constant name="struts.enable.DynamicMethodInvocation" value="false"/> 

    </struts>

    action类的注解:

    package com.tjcyjd.web.action;   

       

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

    import org.apache.struts2.convention.annotation.ExceptionMapping;   

    import org.apache.struts2.convention.annotation.ExceptionMappings;   

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

    import org.apache.struts2.convention.annotation.ParentPackage;   

    import org.apache.struts2.convention.annotation.Result;   

    import org.apache.struts2.convention.annotation.Results;   

       

    import com.opensymphony.xwork2.ActionSupport;   

       

    /** 

     * Struts2基于注解的Action配置

     *  

     */   

    @ParentPackage("struts-default") 

    @Namespace("/annotation_test") 

    @Results( { @Result(name = "success", location = "/main.jsp"), 

            @Result(name = "error", location = "/error.jsp") }) 

    @ExceptionMappings( { @ExceptionMapping(exception = "java.lange.RuntimeException", result = "error") }) 

    public class LoginAction extends ActionSupport { 

        private static final long serialVersionUID = 2730268055700929183L;  

        private String loginName;   

        private String password;   

       

        @Action("login") //或者写成  @Action(value = "login")  

        public String login() throws Exception {   

       

            if ("yjd".equals(loginName) && "yjd".equals(password)) {   

                return SUCCESS;   

            } else {   

                return ERROR;   

            }   

        }   

        @Action(value = "add", results = { @Result(name = "success", location = "/index.jsp") })   

        public String add() throws Exception {   

            return SUCCESS;   

        }   

        public String getLoginName() {   

            return loginName;   

        }   

        public void setLoginName(String loginName) {   

            this.loginName = loginName;   

        }   

        public String getPassword() {   

            return password;   

        }   

        public void setPassword(String password) {   

            this.password= password;   

        }   

    这样就完成了一个基于注解的action配置。

     

  • 相关阅读:
    防火墙透明模式
    HP管理工具System Management Homepage安装配置
    kbmmw 中JSON 中使用SQL 查询
    kbmmw 中JSON 操作入门
    第一个kbmmw for Linux 服务器
    kbmmw 5.02发布
    kbmmw 5.01 发布
    使用delphi 10.2 开发linux 上的Daemon
    使用unidac 在linux 上无驱动直接访问MS SQL SERVER
    使用delphi 10.2 开发linux 上的webservice
  • 原文地址:https://www.cnblogs.com/OnePage/p/3680564.html
Copyright © 2011-2022 走看看