SSH 학습 (4) Struts 2 유형 전환

원문 은 벽돌공 에서 왔 으 니, 전재 할 필요 가 있 으 면 출처 를 밝 혀 주 십시오.
블 로 거 SSH 프레임 칼럼 여기 찍 어 주세요.http://blog.csdn.net/column/details/14227.html
1. 유형 전환 의 의미
따라서 MVC 프레임 워 크 는 모두 표현 층 의 해결 방안 을 해결 하고 사용자 가 요청 한 파 라 메 터 를 수집 하여 컨트롤 러 에 파 라 메 터 를 제공 해 야 합 니 다.그러나 웹 응용 프로그램 에서 모든 요청 매개 변 수 는 문자열 형식 입 니 다. 자바 는 강 한 유형의 언어 입 니 다. 문자열 을 자바 형식 으로 어떻게 바 꾸 는 지 는 프레임 워 크 가 해결 해 야 할 문제 입 니 다.
예 를 들 어 하나의 등록 페이지 는 나이, 날짜 등 을 입력 해 야 한다.이 럴 때 는 날짜, 연령 문자열 을 해당 유형 으로 바 꿔 야 합 니 다.
2. Struts 2 의 유형 변환기
Struts 2 는 내 장 된 형식 변환 기 를 제공 합 니 다. 대부분의 유형 에 대해 개발 자 는 사용자 정의 형식 변환 기 를 사용 하지 않 고 내 장 된 형식 변환 기 를 사용 하면 우리 가 필요 로 하 는 형식 변환 을 완성 할 수 있 습 니 다.
내 장 된 형식 변환기:
1. boolean 과 Boolean
2. char 와 Character
3. int 와 Integer
4. 롱 과 롱
5. float 와 Float
6. double 과 Double
7.date
예 를 들 어 우리 가 페이지 에 20 을 입력 하면 배경 으로 전송 하 는 것 은 문자열 형식 일 것 입 니 다.하지만 Struts 프레임 워 크 의 내장 유형 전환 은 20 을 int 형 으로 바 꿀 수 있 습 니 다.하지만 우리 가 abc 같은 것 을 int 로 바 꾸 면 안 됩 니 다.
3. 사용자 정의 형식 변환기 의 실현
1. 수요 분석
예 를 들 어 우 리 는 페이지 에 (2, 3) 이라는 좌표 점 을 입력 하고 이 점 을 하나의 점 대상 유형 으로 바 꿔 야 한다.
2. 실현
내 장 된 형식 변환 이 우리 의 요 구 를 만족 시 키 지 못 할 때 사용자 정의 형식 변환 을 사용 해 야 합 니 다.Struts 2 의 유형 전환 시 ONGL 기반 으로 ONGL 에 인터페이스 TypeConverter 가 있 습 니 다. 이 인터페이스 에는 converter Value 방법 이 있 습 니 다. 이 방법 은 매우 복잡 합 니 다.기본 구현 클래스 인 Default TypeConverter 도 있 습 니 다. 이 종 류 를 통 해 유형 전환 을 실현 합 니 다.
4. 567913. 이것 이 바로 변환기 의 간단 한 실현 이다. 페이지 전송 값 을 분석 하고 마지막 으로 Point 형식 으로 전환한다.그리고 형식 변환기 가 작 동 하려 면 설정 이 필요 합 니 다.
struts 2 는 두 가지 설정 방법 을 제공 합 니 다.
a. 부분: 먼저 Actionname - conversion. properties 와 같은 파일 이름 을 만 듭 니 다. 그 안의 내용 은 속성 = 형식 변환기 (ponit = com. study. converter) 입 니 다. 가방 아래 에 써 야 합 니 다.
b. 전역: 우선 xwork - conversion. properties 와 같은 파일 이름 을 만 듭 니 다. 내용 은 com. study. bean. Ponit = com. study. converter 입 니 다.파일 은 src 아래 에 써 야 합 니 다.
3. Struts 의 실현
struts 2 에는 StrutsTypeConverter 류 가 있 는데 이것 은 DefaultTypeConverter 를 계승 하 는 것 입 니 다.이 를 사용 하여 변환 기 를 사용자 정의 하 는 것 이 더욱 편리 합 니 다. 예제 코드 는 다음 과 같 습 니 다.
package com.study.converter;
import java.util.Map;
import com.study.bean.Point;
import ognl.DefaultTypeConverter;

public class PointConverter extends DefaultTypeConverter{
	public Object convertValue(Map context, Object value, Class toType) {
		if(toType==Point.class){
			String []strs = (String[])value;
			String []xy = strs[0].split(",");
			
			int x = Integer.valueOf(xy[0]);
			int y = Integer.valueOf(xy[1]);
			
			Point p = new Point();
			p.setX(x);
			p.setY(y);
			
			return p;
			
		}else if(toType==String.class){
			Point p = (Point) value;
			return "["+p.getX()+","+p.getY()+"]";
		}else{
			return null;
		}
	}
}

4. 형식 변환기 의 오류 처리
Struts 2 는 conversionError 라 는 차단 기 를 제공 합 니 다. 형식 변환 에 오류 가 발생 하면 차단 기 는 오 류 를 폼 오류 (filederror) 로 밀봉 하고 오류 정 보 를 ActionContext 에 넣 습 니 다.
어떻게 기본 형식 변환 오류 알림 정 보 를 바 꿉 니까?
방법 1:
우선 자원 파일 Mess. properties 를 만 들 고 src 아래 에 놓 습 니 다.
그리고 xwork - core - 2.3.31 \ \ com \ opensymphony \ xwork 2 \ \ xwork - messages. properties 의 속성 xwork. default. invalid. field value 를 덮어 씁 니 다.Mess. properties 에 다음 매개 변 수 를 기록 하 는 것 입 니 다.
4. 567913. 그리고 우리 의 자원 파일 을 지정 합 니 다. struts. xml 에서 (파일 접 두 사 를 추가 할 필요 가 없습니다)
방법 2:
어떤 action 필드 에 잘못된 정보 알림 을 제공 합 니 다.
Actionname. properties 파일 을 정의 하고 설정 을 추가 합 니 다. Invalid. field value. 속성 명 = 알림 정보
다음 글 은 Struts 2 의 파일 업로드 기능 을 배 웁 니 다.

좋은 웹페이지 즐겨찾기