[java] Apache Velocity와 블로그 템플릿 적용 사례

Apache Velocity는 Java 언어로 작성된 오픈 소스 템플릿 엔진으로, 동적으로 생성된 컨텐츠를 표현하기 위한 템플릿 시스템을 구현하는 데 사용됩니다. 이 포스트에서는 Apache Velocity를 사용하여 블로그 템플릿을 구현하는 방법을 살펴보겠습니다.

Apache Velocity란?

Apache Velocity는 템플릿 언어를 사용하여 소스 코드와 분리된 템플릿을 정의하고, 이를 통해 동적으로 생성된 컨텐츠를 표현하는 기능을 제공합니다. Java 코드에서 Velocity 엔진을 사용하여 템플릿을 처리하고, 그 결과를 출력할 수 있습니다.

블로그 템플릿에 Apache Velocity 적용하기

1. Velocity 라이브러리 추가하기

먼저, 프로젝트의 의존성 관리 도구를 사용하여 Velocity 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우, pom.xml 파일에 다음과 같이 의존성을 추가합니다.

<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity</artifactId>
    <version>1.7</version>
</dependency>

2. Velocity 템플릿 작성하기

Velocity 템플릿 파일은 일반적으로 .vm 확장자를 사용합니다. 예를 들어, blogTemplate.vm과 같은 파일을 생성하여 블로그의 템플릿을 정의합니다.

<html>
<head>
    <title>$title</title>
</head>
<body>
    <h1>$title</h1>
    <p>$content</p>
</body>
</html>

위의 예시에서, $title$content는 동적으로 설정되는 부분을 나타냅니다.

3. Velocity 템플릿을 Java 코드에서 사용하기

Java 코드에서 Velocity 엔진을 사용하여 위에서 작성한 템플릿을 처리할 수 있습니다. 아래는 간단한 예시입니다.

import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;

public class BlogTemplateProcessor {
    public String processTemplate(String title, String content) {
        VelocityEngine velocityEngine = new VelocityEngine();
        velocityEngine.init();
        
        Template template = velocityEngine.getTemplate("blogTemplate.vm");
        
        VelocityContext context = new VelocityContext();
        context.put("title", title);
        context.put("content", content);
        
        StringWriter writer = new StringWriter();
        template.merge(context, writer);
        
        return writer.toString();
    }
}

위의 예시에서 processTemplate 메서드는 템플릿을 처리하고, 결과를 문자열로 반환하는 간단한 예시를 보여줍니다.

이제 Apache Velocity를 사용하여 블로그 템플릿을 구현하는 방법에 대해 간략히 살펴보았습니다. Velocity는 동적으로 생성된 컨텐츠를 표현하기 위한 강력한 도구로, 그 활용법은 무궁무진합니다.

참고 자료