오호라... jade가 자바에서도 사용가능했군요!!!!
jade4j : https://github.com/neuland/jade4j
mvn : https://mvnrepository.com/artifact/de.neuland-bfi/jade4j/1.2.7
https://www.baeldung.com/spring-template-engines
jade 템플릿엔진 spring boot 세팅방법
https://github.com/aulphar/Jade-syntax-highlight-HRC
eclipse jade syntax highlight..
원래는 제네릭 관련해서 정리해보려다가 이거 발견하고는 급 jade놀이 시작해버렸습니다...
layout.jade
html
head
title Spring Jade Test!
link(rel="stylesheet",href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css")
block scripts
script(src="http://code.jquery.com/jquery-2.2.4.js",type="text/javascript")
script(src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js")
script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js")
body
.container
include header.jade
block content
header.jade
nav.navbar.navbar-expand-lg.navbar-dark.bg-dark
button.navbar-toggler(type="button",data-toggle="collapse",data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup",aria-expanded="false",aria-label="Toggle navigation")
span.navbar-toggler-icon
a.navbar-brand(href="#") PUG!!
.collapse.navbar-collapse#navbarNavAltMarkup
ul.navbar-nav
li.nav-item.active
a.nav-link(href="#") Home
span.sr-only (current)
li.nav-item
a.nav-link(href="#") Link1
li.nav-item
a.nav-link(href="#") Link2index.jade
extends layouts/layout.jade
block content
.jumbotron
h1 Hello! #{name}
p.lead= text
package com.example.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class TestController {
@RequestMapping("/index")
public String index(Model model) {
model.addAttribute("name","world");
model.addAttribute("text", "Lorem ipsum dolor sit amet, consectetur adipiscing elit. In lorem diam, commodo id efficitur nec, aliquet vel neque. Curabitur bibendum a sem convallis sollicitudin. Fusce dignissim quam in tortor pharetra, at imperdiet magna elementum. Pellentesque vestibulum aliquet erat et finibus. Donec maximus quam at accumsan elementum. Integer et fermentum ligula. Quisque tempus in massa in molestie. Sed sit amet lorem vel turpis bibendum mollis vitae a turpis. Donec metus libero, lobortis non diam id, ornare blandit nulla. Fusce ut sapien ac ex sollicitudin tincidunt. Vestibulum quis rhoncus lacus. Vestibulum auctor rutrum libero, vitae placerat nisl gravida in. Fusce aliquet ante id condimentum fringilla. Nam hendrerit aliquam ex at fermentum. ");
return "index";
}
}

테이블이나 리스트같은거 mixin으로 좀 뽑아놓으면 신나게 가지고 놀수있겠습니다~!!
추가) 방금 mixin으로 테이블 만들어서 ArrayList로 받은 VO를 each in으로 찍는것도 테스트 완료했습니다~ 생각보다 너무 잘돌아가서 깜짝놀랐어요!!!
그리고 날자포매팅하는법을 확인하던중 기존의 "- function(b) a{~~}" 으로 선언해서 쓰던 #{a(b)} 문법대신 Helper 클래스를 JadeConfiguration에 맵으로 등록해서 #{선언한key.메소드명(변수)} 형태로 쓸수 있게 되어있습니다.
일종의 jstl의 fn을 쉽게 구현하게 해줬다고 보시면 될거 같습니다. 간단하게 뷰단에서 날자포매팅도 처리끗! 굿굿굿!!
jsp기준으로 jstl이 없는게 아쉽지만 헬퍼의 확장성을 생각하면.. node.js의 인라인 스크립트보다 훨씬 쓰기 편해진점 아닌가싶네요