Translate

[JHipster] microservice 프로젝트 Thymeleaf 대신에 JSP 사용할 수 있게 변경 방법





JHipster 에서 JSP를 사용해야 할 일이 있어 Thymeleaf 대신에 JSP를 사용하도록 변경을 했다.
Version: JHipster Generator v4.8.0


우선 아래와 같은 셋팅으로 프로젝트를 생성했다.




1004lucifer
아래와 같이 수정을 했다.

1. build.gradle 수정

dependencies {

    ...

    compile ("org.springframework.boot:spring-boot-starter-web") {
//        exclude module: 'spring-boot-starter-tomcat'
    }
    compile "org.apache.tomcat.embed:tomcat-embed-jasper"
    compile 'javax.servlet:jstl:1.2'
//    compile "org.springframework.boot:spring-boot-starter-undertow"
//    compile "org.springframework.boot:spring-boot-starter-thymeleaf"

    ...

}





2. src/main/resources/config/application.yml 수정

messages:
 basename: i18n/messages
mvc:
 view:
  prefix: /WEB-INF/jsp/
  suffix: .jsp
 favicon:
  enabled: false
thymeleaf:
 mode: XHTML





3. src/main/java/kr/co/_1004lucifer/config/WebConfigurer.java 수정

@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
 MimeMappings mappings = new MimeMappings(MimeMappings.DEFAULT);
 // IE issue, see https://github.com/jhipster/generator-jhipster/pull/711
 mappings.add("html", "text/html;charset=utf-8");
 // CloudFoundry issue, see https://github.com/cloudfoundry/gorouter/issues/64
 mappings.add("json", "text/html;charset=utf-8");
 container.setMimeMappings(mappings);

 /*
  * Enable HTTP/2 for Undertow - https://twitter.com/ankinson/status/829256167700492288
  * HTTP/2 requires HTTPS, so HTTP requests will fallback to HTTP/1.1.
  * See the JHipsterProperties class and your application-*.yml configuration files
  * for more information.
  */
// if (jHipsterProperties.getHttp().getVersion().equals(JHipsterProperties.Http.Version.V_2_0) &&
//  container instanceof UndertowEmbeddedServletContainerFactory) {
//
//  ((UndertowEmbeddedServletContainerFactory) container)
//   .addBuilderCustomizers(builder ->
//    builder.setServerOption(UndertowOptions.ENABLE_HTTP2, true));
// }
}




1004lucifer
4. src/main/java/kr/co/_1004lucifer/config/ThymeleafConfiguration.java 파일 삭제





5. src/main/java/kr/co/_1004lucifer/web/TestJspController.java 파일 추가

package kr.co._1004lucifer.web;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class TestJspController {

    @RequestMapping("test")
    public String testJsp() {
        return "test";
    }

}




1004lucifer
6. src/main/webapp/WEB-INF/jsp/test.jsp 파일 추가

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
Test Jsp Page
</body>
</html>





위의 작업한 프로젝트를 압축하여 파일을 공유한다.
파일 다운받기
1004lucifer


참고:
https://www.mkyong.com/spring-boot/spring-boot-hello-world-example-jsp/


댓글

  1. 안녕하세요 제가 찾던 내용을 여기서 찾게되어 너무나 감사하고 기쁘네요. 그런데 2023년에 빌드하고 런을 해보려니 컨피그 부분 어떻게하셨는지 궁금합니다.

    답글삭제
    답글
    1. JHipster 사용한지 오래됐네요..ㅠ
      지금은 JHipster도 많이 업데이트 되었을테고 그때의 상황과는 많이 달라졌을꺼라 생각합니다.
      도움을 못드려 미안하네요..ㅠ

      삭제

댓글 쓰기