velocity map list 배열 작업
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 이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Access Request, Session and Application in Struts2If we want to use request, Session and application in JSP, what should we do? We can obtain Map type objects such as Req...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.