velocity map list 배열 작업

2479 단어 Stringjavabean

Velocity가 템플릿을 만들 때 맵,list 대상에 사용하고 출력 대상의 속성 값을 옮겨다니는 경우가 많다.스트리밍이 필요할 때, 스트리밍의 길이를 기록할 때, $velocity Count 내장 변수를 사용하여 출력할 수 있습니다.다음 데모는 우리의 코드 여행을 시작합시다.우선javabean 실체 대상을 정의합니다.user는 다음과 같이 정의합니다.
publicclass User {
   privateintid;
   private String name;
   publicintgetId(){
      returnid;
   }
   publicvoidsetId(intid){
      this.id = id;
   }
   public String getName(){
      returnname;
   }
   publicvoidsetName(String name){
      this.name = name;
   }
   publicvoidset(intid, String name){
      this.id = id;
      this.name = name;
   }
   publicUser(intid, String name){
      this.id = id;
      this.name = name;
   }
}
정의된 템플릿 파일1.bpmn의 내용은 다음과 같다.
  List:
  #foreach($member in $members)
      $velocityCount <li>$member.id -$member.name </li>
  #end 
 
       <br>
     Map:
     #foreach($member in$membersMap.entrySet())
       <li>$member.key - $member.value.id$member.value.name</li>
     #end
    
     array:
     #set($arr=[0..23])
#foreach($foo in [0..23])
$foo
#end
프로그램 코드는 다음과 같다.
   List<User> list = newArrayList<User>();
      Map<String, User> map=newHashMap<String,User>();
      list.add(newUser(1, "a"));
      list.add(newUser(2, "b"));
      list.add(newUser(3, "c"));
     
      map.put("1", newUser(1, "a"));
      map.put("2", newUser(2, "b"));
      map.put("3", newUser(3, "c"));
      Properties p = newProperties();
      p.put("file.resource.loader.class",
            "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
      Velocity.init(p);
      //  vm 
      Template template =Velocity.getTemplate("1.bpmn", "UTF-8");
      //  
      VelocityContext context = newVelocityContext();
      //  
      context.put("title", "cccc");
      context.put("name", "a,b,c");
      context.put("members", list);
      // $velocityCount 
      context.put("membersMap", map);
      StringWriter writer = newStringWriter();
      template.merge(context, writer);
      writer.close();
      System.out.println(writer);
출력 프로그램 결과 부분은 다음과 같다.List: 1
  • 1 - a
  • 2
  • 2 - b
  • 3
  • 3 - c
  • Map:
  • 1 - 1 a
  • 2 - 2b
  • 3 - 3c
  • array: 0 1 2 Ok는 매우 완벽하게 처리되었다.

    좋은 웹페이지 즐겨찾기