자바 문자열 템 플 릿 분석

2113 단어 자바
1. MessageFormat
장점: 제3자 라 이브 러 리 에 들 어 갈 필요 가 없고 문턱 이 낮 습 니 다.
단점: 번 호 를 사용 하여 뒤의 매개 변수 와 약속 하고 결합 성 이 비교적 크 며 유지 비용 이 높 으 며 재 활용 성 이 높 지 않 습 니 다.
      모든 정 보 를 bean 에 넣 으 려 면 후기 에 대상 을 하나씩 get 속성 으로 개발 코드 가 비교적 많 습 니 다.

 System.out.println(MessageFormat.format("  {0},   {1},  {2} ", "   ", "  ", "22"));

2. freemarker
장점: 중용 성 이 높 아 교체 대기 string 및 데이터 대상 을 입력 하면 모든 교 체 를 완성 할 수 있 습 니 다
      유지 가능성 이 높 고 템 플 릿 수정, 코드 변경 필요 없습니다.
단점: bean 속성 을 삭제 할 때 코드 를 바 꾸 는 것 이 잘못 되 지 않 습 니 다. 원 값 을 직접 출력 하려 면 제3자 라 이브 러 리 에 불 러 와 야 합 니 다.

       try {
            Configuration cfg = new Configuration();    
            StringTemplateLoader stl =  new StringTemplateLoader();
            stl.putTemplate("", "hello:${name}");
            cfg.setTemplateLoader(stl);    
            Template template = cfg.getTemplate("");
            
            Bean b = new Bean();
            b.setName("aaa");
            
            StringWriter writer = new StringWriter();    
            template.process(b, writer);    
            System.out.println(writer.toString());    
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }    

3. Velocity
장점: 키 가 맞 는 형식 입 니 다. Message Format 은 번 호 를 유지 할 필요 가 없 기 때 문 입 니 다.
단점: 중용 성 이 높 지 않다.제3자 라 이브 러 리 에 불 러 와 야 합 니 다.

Context context  = new VelocityContext();
        context.put("name", "aaa");
        StringWriter sw = new StringWriter();    
        try {
            Velocity.evaluate(context, sw, "velocity", "hello:${name}");
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        System.out.println(sw.toString());

좋은 웹페이지 즐겨찾기