초대장을 기반으로 Struts2의 동작 클래스 기술(2016 Spring Ver.)

초대장을 사용한 작업 설정


초대장을 사용하여 Action 레벨을 설정할 때 Struts2의 공식 플러그인 중 하나Struts2-Convention-plugin를 가져올 수 있습니다.
동작 클래스의 설정은struts입니다.xml(또는 파생된 xml 파일)에 기술된 규칙은 Convention 플러그인을 사용하여 개별 Action 단계의 설정을 xml로 분리하지 않고 Action 단계에 직접 기록할 수 있습니다.

해당 버전


Struts2.1.x , 2.2.x , 2.3.x , 2.5

가져오기 방법


몇 가지 입수 방법이 있다.당신의 취향에 따라 하나를 선택하세요.
Pleiades All in one Eclipse를 사용하여 Struts2 공식 공백 항목 가져오기 신속

  • 공식 사이트에서 Struts2 세트를 다운로드하여 압축을 풀면 struts2-convention-Plugin-2.5.jar (더 나아가서는 최신 버전) 을 복제합니다.
  • maven을 사용하여jar를 추가합니다.
  • 공식 사이트에서 Struts2-convention의maven Aki 유형(가져오는 방법:https://struts.apache.org/docs/struts-2-maven-archetypes.html을 가져와 응용을 구성한다.
  • Convention 플러그인을 도입할 때 프로필을 추적하고 편집할 필요가 없습니다.

    초대를 통해 설정할 수 있는


    struts.xml에서 설정할 수 있는 일 = 모든 것을 시뮬레이션할 수 있습니다.액션 레벨 설정 방법 자체가 유연해 기술모드도 많다.여기에 사용하기 쉬운 내용으로 소개합니다.
    초대하다
    과업
    설명 예
    @Namespace
    Action 클래스가 속하는 네임스페이스입니다.URL의 일부가 됩니다.
    @Namespace ("/")
    @ParentPackage
    Action 클래스가 상속하는 네임스페이스입니다.지정된 패키지의 설정을 상속합니다.
    @ParentPackage ("struts-default")
    @Result
    Action 클래스의 반환 값과 출력 대상을 설정합니다.부모 요소@Results
    @Result (name = ActionSupport.SUCCESS, location = "form", type="dispatcher")
    @Action
    Action 클래스로 선언합니다.URL의 일부가 됩니다.부모 요소@Actions
    @Action ("")
    @InterceptorRef
    Action 클래스에 사용되는 절단기를 변경합니다.부모 요소@InterceptorRefs
    @InterceptorRef ("defaultStack")
    @ExceptionMapping
    Action 클래스에서 예외를 포착할 때의 예외 클래스와 Result의 값을 정의합니다.부모 요소@ExceptionMappings
    @ExceptionMapping (exception="java.lang.Exception", result="exception")
  • 모조한 Namespace(네임스페이스) = struts.xml의 패키지 요소와 같습니다.
  • 입력 값 확인 초대장은 Convention 플러그인에 포함되지 않습니다.
  • 액션이 공공 방법에 기재되면 기술량이 줄어든다.Action은 필요 없습니다.
  • 예시를 기록하다


    설정 예는 다음과 같습니다.
    SampleAction.java
    /**
     *
     */
    package lumi.action.sample;
    
    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;
    
    /**
     * @author A-pZ
     *
     */
    @Namespace("/sample")
    @ParentPackage("struts-default")
    @Results({
        @Result(name = ActionSupport.SUCCESS, location = "index.jsp" , type="dispatcher"),
    })
    @ExceptionMappings({
        @ExceptionMapping(exception="java.lang.Exception" , result="exception")
    })
    public class SampleAction extends ActionSupport {
        @Action("display")
        public String sample() throws Exception {
            return SUCCESS;
        }
    }
    
    이 Action반은/sample/display 또는/sample/display입니다.액션으로 팟캐스트 가능합니다.
    @Namespace의 값/@Action의 값입니다.

    @Result의 location에서 지정한 파일의 배치 위치


    Convention 플러그인의 기본 설정에서 다음 위치에 배치된 플러그인을 읽어야 합니다.
    /WEB-INF/content/@Namespaceの値/@Resultのlocation属性値
    
    방금 예에서/WEB-IN/content/sample/index.jsp가 되다.

    다른 프레임과 결합하는 예


    여기에는 예만 들고, Struts2+Spring3+Lombok의 기재를 결합한 예도 소개한다.
    Gist: 현재 Action 클래스의 예(Struts2+Spring3+Lombok)

    좋은 웹페이지 즐겨찾기