Translate

2017년 9월 13일 수요일

[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/


댓글 없음 :

댓글 쓰기