Kosmos DSL 0.2.0 — “Java로 HTML 만들기” 초보자 가이드
UNeedSoft “유니드소프트-모두를 위한 소프트웨어” 비전 아래 공개 배포되는 kosmos-dsl-0.2.0.jar로 첫 페이지(Hello)를 실행하는 방법을 안내합니다.
이 가이드를 끝까지 따라하면
kosmos-dsl-0.2.0.jar을 Spring Boot 프로젝트에 추가하고- Kosmos DSL로 첫 페이지를 렌더링하여
http://localhost:8080/에서 “Hello Kosmos DSL” 화면을 확인할 수 있습니다.
0) 준비물(필수)
- Java 17 설치(권장)
- Spring Boot 3.x 기반 웹 프로젝트(아래 단계에서 생성)
- 첨부 파일:
kosmos-dsl-0.2.0.jar
1) 프로젝트 생성 (IntelliJ Community 또는 VS Code)
A. IntelliJ IDEA Community
- File > New > Project
- 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 (추천)
- Name:
- Dependencies(의존성): Spring Web 선택
- 생성 후 실행 버튼(▶)으로 기본 앱이 실행되는지 먼저 확인
B. VS Code
- 확장 설치: Extension Pack for Java, Spring Boot Extension Pack
Ctrl+Shift+P→ Spring Initializr: Create a Gradle Project- Java 17 / Boot 3.x / Dependencies: Spring Web 선택
- 폴더 생성 후 열기
2) kosmos-dsl-0.2.0.jar 추가(가장 쉬운 방식)
(권장) Gradle 프로젝트 기준. 프로젝트 루트에 libs/ 폴더를 만들고 JAR을 복사한 뒤 의존성을 추가합니다.
- 프로젝트 루트에 폴더 생성:
libs/ libs/안에 첨부 파일 복사:libs/kosmos-dsl-0.2.0.jar- 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) 다음 단계 안내
다음 자료인 Kosmos Spring 0.2.0 가이드에서 Spring과의 연동(표준 RenderContext 자동 주입, 메시지/i18n, Security/CSRF 바인딩)을 더 자연스럽게 구성하는 방법을 안내합니다.