Kosmos DSL 0.2.0 — “Java로 HTML 만들기” 초보자 가이드

UNeedSoft “유니드소프트-모두를 위한 소프트웨어” 비전 아래 공개 배포되는 kosmos-dsl-0.2.0.jar로 첫 페이지(Hello)를 실행하는 방법을 안내합니다.


0) 준비물(필수)

  • Java 17 설치(권장)
  • Spring Boot 3.x 기반 웹 프로젝트(아래 단계에서 생성)
  • 첨부 파일: kosmos-dsl-0.2.0.jar

1) 프로젝트 생성 (IntelliJ Community 또는 VS Code)

A. IntelliJ IDEA Community

  1. File > New > Project
  2. Generators > Spring Boot 선택
    • Name: kosmos-dsl-lec01
    • Language: Java
    • Type: Gradle-Groovy (Gradle-Kotlin 추천)
    • Group/Artifact: 예) com.example / kosmos-dsl-lec01
    • Java: 17
    • Packaging: Jar (추천)
  3. Dependencies(의존성): Spring Web 선택
  4. 생성 후 실행 버튼(▶)으로 기본 앱이 실행되는지 먼저 확인

B. VS Code

  1. 확장 설치: Extension Pack for Java, Spring Boot Extension Pack
  2. Ctrl+Shift+PSpring Initializr: Create a Gradle Project
  3. Java 17 / Boot 3.x / Dependencies: Spring Web 선택
  4. 폴더 생성 후 열기

2) kosmos-dsl-0.2.0.jar 추가(가장 쉬운 방식)

(권장) Gradle 프로젝트 기준. 프로젝트 루트에 libs/ 폴더를 만들고 JAR을 복사한 뒤 의존성을 추가합니다.

  1. 프로젝트 루트에 폴더 생성: libs/
  2. libs/ 안에 첨부 파일 복사: libs/kosmos-dsl-0.2.0.jar
  3. Gradle 의존성 추가
build.gradle (Groovy)
dependencies {
  implementation files("libs/kosmos-dsl-0.2.0.jar")
  implementation "org.springframework.boot:spring-boot-starter-web"
}
build.gradle.kts (Kotlin)
dependencies {
  implementation(files("libs/kosmos-dsl-0.2.0.jar"))
  implementation("org.springframework.boot:spring-boot-starter-web")
}

Gradle Sync(동기화)를 실행합니다.

3) Kosmos DSL로 첫 페이지 만들기(Hello 페이지)

아래 코드를 그대로 생성/복사 후 실행합니다.

1) 페이지 생성: src/main/java/.../pages/HelloPage.java

package com.example.kosmos.pages;

import net.uneedsoft.kosmos.dsl.core.base.HtmlComponent;
import net.uneedsoft.kosmos.dsl.core.context.RenderContext;
import net.uneedsoft.kosmos.dsl.factory.El;

public class HelloPage implements HtmlComponent {

    @Override
    public String render(RenderContext ctx) {
        return El.div().css("container")
            .children(
                El.h1().text("Hello Kosmos DSL"),
                El.p().text("Java 코드로 HTML을 렌더링했습니다.")
            )
            .render(ctx);
    }
}

2) 컨트롤러 생성: src/main/java/.../HelloController.java

package com.example.kosmos.controller;

import com.example.kosmos.pages.HelloPage;
import net.uneedsoft.kosmos.dsl.core.context.RenderContext;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.Locale;

@Controller
public class HelloController {

    @GetMapping("/")
    @ResponseBody
    public String home() {
        RenderContext ctx = RenderContext.builder(Locale.KOREA, key -> key)
            .prettyPrint(true)
            .indentSpaces(2)
            .build();

        return new HelloPage().render(ctx);
    }
}

3) 실행 후 브라우저 접속

  • http://localhost:8080/
  • “Hello Kosmos DSL”이 보이면 성공

4) 다음 단계 안내