우 육시 엉 - Struts2Sping4Hibernate 개발 연구 노트 통합 타고난 플라이급 자바 EE 엔터프라이즈 애플리케이션 개발 : Struts2 형식 변환 : Struts2 기반의 사용자 정의 형식 변환기를

<? XML 버전 = "1.0" "GBK"를 인코딩 =?>
<프로젝트 이름 = "스트럿"BASEDIR = "를." 기본 = "">
    <속성 명 = "DIST"값 = "클래스"/>
    <속성 명 = "SRC"값 = "SRC"/>
    
    <경로 ID = "클래스 경로">
        <세트 DIR = "LIB">
            <= 이름을 포함 "*. 항아리"/>
        </ 세트>
        <pathelement 경로 = "$ {DIST}"/>
    </ 경로>

    <대상 이름 = "컴파일"설명 = "컴파일 모든 소스 코드">
        <삭제 DIR = "$ {DIST}"/>
        <MKDIR DIR = "$ {DIST}"/>
        <복사 todir = "$ {DIST}">
            <파일 세트 DIR = "$ {SRC}">
                < "** / *. 자바"= 이름을 제외 />
            </ 세트>        
        </ 복사>
        <javac의 DESTDIR = "클래스"디버그 = "true"를 includeantruntime = "예" 
            중단 = "false"를 최적화 = "false"를 failonerror = "진정한">
            <SRC 경로 = "$ {SRC}"/>
            <클래스 경로 REFID = "클래스 경로"/>
        </ javac의>
    </ 타겟>

</ 프로젝트>
<? XML 버전 = "1.0" "GBK"를 인코딩 =?>

<웹 응용 프로그램의 xmlns = "http://xmlns.jcp.org/xml/ns/javaee" 
    XMLNS : XSI = "http://www.w3.org/2001/XMLSchema-instance" 
    XSI :의 schemaLocation = "HTTP : //xmlns.jcp.org/xml/ns/javaee
    HTTP : // xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd "버전 ="3.1 ">
    <! - 필터 스트럿츠 2의 핵심을 정의 ->
    <필터>
        <필터 이름> struts2 </ 필터 이름>
        <필터 - 클래스 > org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </ 필터 - 클래스 >
    </ 필터>
    <! - 핵심 필터 2 절편 모든 요청 스트럿츠하자 ->
    <필터 매핑>
        <필터 이름> struts2 </ 필터 이름>
        <URL 패턴> / * </ URL 패턴>
    </ 필터 매핑>
</ 웹 응용 프로그램>
<? XML 버전 = "1.0" "GBK"를 인코딩 =?>
<! DOCTYPE 스트럿 PUBLIC
     "- // 아파치 소프트웨어 재단 // DTD Struts의 구성 2.3 // EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<스트럿>
    < 패키지 이름은 = "리는" 확장 "스트럿 - 기본"=>
        <작업 이름 = "로그인" 클래스 = "org.crazyit.app.action.LoginAction">
            /WEB-INF/content/welcome.jsp에는 <result> </ result>을
            <결과 NAME = "오류"> / WEB-INF / 콘텐츠 / 위해 welcome.jsp </ 결과>
        </ 동작>
        <작업 이름 = "*">
            <결과> / WEB-INF / 콘텐츠 / {1} .jsp를 </ 결과>        
        </ 동작>
    </ 패키지 >
</ 스트럿>
# 필요성 org.crazyit.app.domain.User의 유형을 지정합니다
# 클래스 형 변환을 사용하여 수행 UserConverter
org.crazyit.app.domain.User = org.crazyit.app.converter.UserConverter
<% - 
웹 사이트 : <A HREF = "http://www.crazyit.org"> 미친 리그 자바 </a>에 
저자 yeeku.H.lee kongyeeku @ 163 .COM
이는 버전   1.0 
암스테르담 저작권합니다 (C), 20012016 , yeekuHLee
이 프로그램은되어 보호 저작권법에 의해.
프로그램 이름 :
데이트: 
- %>

<% @ 페이지의 contentType = "text / html과; 문자셋 = GBK"언어 = "자바"하여 ErrorPage = ""%>
<태그 라이브러리 % @ 접두사 = "S"URI = "/ 스트럿 - 태그"%>
<DOCTYPE html로의 PUBLIC! "- // W3C // DTD XHTML 1.0 과도 // EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML의 xmlns = "http://www.w3.org/1999/xhtml '>
<head>
    <TITLE> 스트럿 기반 형 컨버터 2 </ TITLE>
</ head>
<body>
<H3> 변환기 스트럿 2 </ H3> 유형에 따라
<S : 양식 액션 = "로그인">
    <S : 텍스트 필드 이름 = "사용자"라벨 = "用户"/>
    <TR>
        <TD 열 병합 = "2"> <S : 값을 제출할 = "转换」주제 ="단순 "/>
        <S : 리셋 값 = "重 填」주제 ="간단한 "/> </ TD>
    </ TR>
</ s : 형태>
</ body>
</ HTML>
<% - 
웹 사이트 : <A HREF = "http://www.crazyit.org"> 미친 리그 자바 </a>에 
저자 yeeku.H.lee kongyeeku @ 163 .COM
이는 버전   1.0 
암스테르담 저작권합니다 (C), 20012016 , yeekuHLee
이 프로그램은되어 보호 저작권법에 의해.
프로그램 이름 :
데이트: 
- %>

<% @ 페이지의 contentType = "text / html과; 문자셋 = GBK"언어 = "자바"하여 ErrorPage = ""%>
<태그 라이브러리 % @ 접두사 = "S"URI = "/ 스트럿 - 태그"%>
<DOCTYPE html로의 PUBLIC! "- // W3C // DTD XHTML 1.0 과도 // EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML의 xmlns = "http://www.w3.org/1999/xhtml '>
<head>
    <제목> 변환 </ 제목>
</ head>
<body>
    <S : actionmessage /> 
    用户名为: <S : 속성 값 = "user.name"/> <BR/> 
    密码为: <S : 속성 값 = "user.pass"/> <BR/>
</ body>
</ HTML>
<? XML 버전 = "1.0" "GBK"를 인코딩 =?>
<! DOCTYPE 스트럿 PUBLIC
     "- // 아파치 소프트웨어 재단 // DTD Struts의 구성 2.3 // EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<스트럿>
    < 패키지 이름은 = "리는" 확장 "스트럿 - 기본"=>
        <작업 이름 = "로그인" 클래스 = "org.crazyit.app.action.LoginAction">
            /WEB-INF/content/welcome.jsp에는 <result> </ result>을
            <결과 NAME = "오류"> / WEB-INF / 콘텐츠 / 위해 welcome.jsp </ 결과>
        </ 동작>
        <작업 이름 = "*">
            <결과> / WEB-INF / 콘텐츠 / {1} .jsp를 </ 결과>        
        </ 동작>
    </ 패키지 >
</ 스트럿>
# 필요성 org.crazyit.app.domain.User의 유형을 지정합니다
# 클래스 형 변환을 사용하여 수행 UserConverter
org.crazyit.app.domain.User = org.crazyit.app.converter.UserConverter
패키지 org.crazyit.app.action을;

수입 com.opensymphony.xwork2.ActionSupport;

가져 org.crazyit.app.domain *. ;

/ **
 * 설명 :
 * <BR/>의 웹 사이트 : <a href=" http://www.crazyit.org "> 미친 자바 리그 </a>를
 * <BR/> 저작권 (C) 2001년부터 2016년까지, Yeeku.H.Lee
 * <BR/>이 프로그램은 저작권법에 의해 보호됩니다.
 * 프로그램 이름 <BR/> :
 * <BR/> 날짜 :
 * 저자   YeekuHLee kongyeeku163com
 * @version   1.0
  * / 
공용  클래스 LoginAction는 확장 ActionSupport를을
{
    개인 사용자의 사용자;

    // 사용자의 세터와 게터 방법 
    공공  무효 SETUSER (사용자 사용자)
    {
         .user = 사용자;
    }
    공공 사용자 인 getUser ()
    {
        반환  .user을;
    }
    공공 문자열은 실행 () 던져 예외
    {
        경우 (인 getUser (). getName ()가. 동일 ( "crazyit.org" )
             && 인 getUser (). getPass는 (). 동일 ( "leegang" ))
        {
            addActionMessage ( "로그인 성공!" );
             반환 성공;
        }
        addActionMessage는 ( "로그인 실패 !!" );
         반환 오류;
    }
}
패키지 org.crazyit.app.converter;

수입 java.util.Map;
수입 org.apache.struts2.util.StrutsTypeConverter;

가져 org.crazyit.app.domain *. ;
/ **
 * 설명 :
 * <BR/>의 웹 사이트 : <a href=" http://www.crazyit.org "> 미친 자바 리그 </a>를
 * <BR/> 저작권 (C) 2001년부터 2016년까지, Yeeku.H.Lee
 * <BR/>이 프로그램은 저작권법에 의해 보호됩니다.
 * 프로그램 이름 <BR/> :
 * <BR/> 날짜 :
 * 저자   YeekuHLee kongyeeku163com
 * @version   1.0
  * / 
공용  클래스 UserConverter는 확장 StrutsTypeConverter을
{
    // 타입의 복합 방식으로 변환하는 문자열 유형을 달성 
    공공의 개체 ConvertFromString (상황에 맞는지도
        문자열 [] 값 클래스 toClass)
    {
        // 사용자 인스턴스의 생성 
        사용자 사용자 = 새로운 새 , 사용자 ()
         // 첫 번째 배열 요소 처리 요구 파라미터 배열
         // 두 문자열로하여 콤마 문자열을 
        문자열 [] userValues = 값 [ 0] .split ( "," );
         // 사용자 할당을위한 예시적인 
        user.setName (userValues [0 ]);
        user.setPass ([userValues . 1 ])
         // 반환 값은 사용자의 인스턴스를 변환 
        반환 사용자;
    }
    // 구현 유형 문자열의 방법의 복합 형으로 변환합니다 
    공공 문자열 convertToString (지도 컨텍스트, 개체 O)
    {
        // 이 값은 사용자 인스턴스 캐스트로 변환하는 
        사용자 = 사용자 (사용자) O
         반환 "," "<"+ user.getName () +
            user.getPass + () + ">" ;
    }
}
패키지 org.crazyit.app.domain;

/ **
 * 설명 :
 * <BR/>의 웹 사이트 : <a href=" http://www.crazyit.org "> 미친 자바 리그 </a>를
 * <BR/> 저작권 (C) 2001년부터 2016년까지, Yeeku.H.Lee
 * <BR/>이 프로그램은 저작권법에 의해 보호됩니다.
 * 프로그램 이름 <BR/> :
 * <BR/> 날짜 :
 * 저자   YeekuHLee kongyeeku163com
 * @version   1.0
  * / 
공용  클래스 사용자
{
    개인 문자열 이름;
    개인 문자열 패스;

    // 세터와의 getter 메소드 이름 
    공공  무효 에서는 setName (문자열 이름)
    {
         .name을 = 이름;
    }
    공공 문자열 getName ()
    {
        반환  .name을을;
    }

    // 세터와 게터 방법은 통과 
    공공  무효 SETPASS (문자열의 패스를)
    {
         .pass = 선택된 전달;
    }
    공공 문자열 getPass ()
    {
        반환  .pass을;
    }

}

 

추천

출처www.cnblogs.com/tszr/p/12364833.html