클래스 템 플 릿 언어의 변수 교체~간단 한 자바 구현

필드 1:데이터베이스 저장 xx,yy,zz,aa,bb 등 필드 이지 만 프론트 데스크 는 서로 다른 장면 에 따라 선택 적 인 전시 부분 필드 를 필요 로 하고 빈번하게 조정 해 야 한다.
            이곳 의 수요 조정 은 프런트 디 스 플레이 의 조정 도 있 고 백 스테이지 DB 필드 의 조정 도 있 을 수 있다.
 
장면 2:자체 정의 문법 모델 언어 실현
 
예시:xx=11&yy=22&zz=33&aa=55&bb=4
          , 템 플 릿 정의"${/xx}은${y}시간 에${zz}을 수정 합 니 다"
          프론트 출력 템 플 릿 11 22 시 수정 33
 
핵심 구현:
 
 
template = mapping.getInfo(); //${/xx} ${yy}  ,  ${zz}
//         ${}  
Matcher m = Pattern.compile("\\$\\{\\w+\\}").matcher(template);

StringBuffer sb = new StringBuffer();

while (m.find()) {
	String param = m.group(); //${xx}
	Object value = paramMap.get( param.substring(2, param.length() - 1));

       m.appendReplacement(sb, value==null?"":value.toString());
}

m.appendTail(sb);

 
초기 에 실 현 된 로그 통계 분석 보고서 에서 비롯 되 었 다.프로젝트 가 냉 궁 에 들 어간 것 을 감안 하여,이 부분 에서 좀 가치 가 있다 고 생각 하 는 코드 를 떼 어 내 백업 을 남 겨 두 었 다.
 
기타:
1.상기 한 바 를 감안 하여 xx=11&yy=22 의 형식 은 value 값 을=과&의 전의 로 출력 할 때 반전 의 미 를 가 져 야 합 니 다.
 
2.DB 에 varchar(1000)를 직접 넣 고 n 개의 알 수 없 는 변수 xx=11&yy=22 를 저장 하 는 방식 도 믿 을 만하 다.그러나 일부 관건 적 인 색인 이 필요 한 변 수 는 단독 필드 로 저장 합 니 다.
 
3.읽 기와 쓰기 가 분리 되 어 있 습 니 다.이런 방식 으로 로그 의 집합 과 여과 조 회 를 하 는 것 은 매우 행복 하지만 MS 주종 구조 가 되 어야 합 니 다.쓰 기 는 비동기 가 되 어야 합 니 다.

좋은 웹페이지 즐겨찾기