-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
[실습]Thymeleaf- 부트스트랩 템플릿 - 자료가 달라요 ...
24.03.31 22:57 작성 조회수 142
1
안녕하세요 틈틈히 공부 하고 있는데 여기까지 왔네요..
이해를 못하는 부분이 좀있어서 첨 부터 다시 보고 여기 까지 왔는데 모르는부분은 인터넷에서 확인하고 알아갔는데 강의 내용에서 알려주신 자료와 강의 하신 자료가 다른거 같아서 이렇게 글 남기네요
Personal - Free Bootstrap Template - Start Bootstrap
에서 받은 자료을 받아서 압축 풀면
=====================
=================== 위처럼 나타납니다.
강의 내용에서 자료를 받은 내용은 이렇더라구요
=============================
제자료는 강사님의 자료 처럼 Vendor이 없어요...
강의 노트를 확인하면
[링크에서 템플릿 파일 다운로드 후 압축을 해제하고, 파일과 폴더를 각각 아래 경로에 추가합니다. 디렉토리가 없다면 만듭니다]
라고 적혀 있어서
위 처럼 폴더를 만들긴 했지만
vendor폴더가 없어요 강사님의 git에 있는 벤드를 가져와서 붙여도 되나요?? 그러면 강의 내용을 앞서 가는거 같아서 하다가 말았어요...
Vendor 폴더 그냥 폴더만 만들고 계속 강의 들어도 되나요?
답변을 작성해보세요.
0
정보근
지식공유자2024.04.01
안녕하세요 정보근입니다:)
질문 내용을 보면 "Thymleaf - 부트스트랩 템플릿" 강의를 듣고 계신 것으로 보이네요.
해당 파일에서 추가할 내용은 아래 이미지와 같습니다.
올려주신 vendor가 포함된 디렉토리 이미지는 강의 화면에서 캡쳐한 것으로 보이는데,
나중에 어드민 페이지를 만들 때 추가되어야 할 내용입니다.
데모 프로젝트를 만들고 롤백한 뒤 각 강마다 내용을 추가해가는 과정에서 남아있던 항목이 있던 것 같아요.
platform.base.d.ts파일이 회색인 것을 보면,
깃 관리 대상이 아니어서 롤백을 해도 사라지지 않고 남아있었던 것 같네요.
결론은 현재 시점에서는 vendor 디렉토리는 무시하시고 진행하셔도 괜찮습니다.
강의 진행 중 헷갈리시는 부분이 있으면 제 깃허브에서 받으신 프로젝트의 깃 커밋 로그를 참고해주세요.
어떤 파일에서 어떤 내용이 바뀌었는지 확인할 수 있고, 그대로만 진행해주시면 됩니다.
감사합니다:)
just kim
2024.04.02
안녕하세요 저 이어서 질분드려요
Thymeleaf에서 localhost:8080 해서 index 페이지가지 정상적으로 진행되는것을 보고 다음 챕처
탬플릿 수정 챕터를 진행했습니다. .
그렇지만 내용이 짜르고 붙이고 하는 부분이 많아
그 과정에 미스 된 내용이 많아서 다시 자르고 붙이는 과정을 반복하다가 안되겠다 싶어서 강사님의 git내용을 복사 붙여 넣기를 반복하다가 더욱 미궁으로 빠져서 다시
Thymeleaf - 부트 스트랩 템플릿 전 단계로 올라가서 다운 받고 복붙 하는 과정을 진행했지만 여전히 문제가 잡혀 지지 않네요
내용을 이렇습니다. 소스 코드는 깃에 올렸습니다.
https://github.com/justkjy/portfolio-justkim
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Tue Apr 02 00:50:31 KST 2024
There was an unexpected error (type=Internal Server Error, status=500).
===============================
역시 자바의 에러는 좀 길게 나오네요
==============================
2024-04-02T00:50:31.283+09:00 ERROR 17708 --- [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.thymeleaf.exceptions.TemplateInputException: Error resolving template [presetation/index], template might not exist or might not be accessible by any of the configured Template Resolvers] with root cause
org.thymeleaf.exceptions.TemplateInputException: Error resolving template [presetation/index], template might not exist or might not be accessible by any of the configured Template Resolvers
at org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:869) ~[thymeleaf-3.1.2.RELEASE.jar:3.1.2.RELEASE]
at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:607) ~[thymeleaf-3.1.2.RELEASE.jar:3.1.2.RELEASE]
at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1103) ~[thymeleaf-3.1.2.RELEASE.jar:3.1.2.RELEASE]
at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1077) ~[thymeleaf-3.1.2.RELEASE.jar:3.1.2.RELEASE]
at org.thymeleaf.spring6.view.ThymeleafView.renderFragment(ThymeleafView.java:372) ~[thymeleaf-spring6-3.1.2.RELEASE.jar:3.1.2.RELEASE]
at org.thymeleaf.spring6.view.ThymeleafView.render(ThymeleafView.java:192) ~[thymeleaf-spring6-3.1.2.RELEASE.jar:3.1.2.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1431) ~[spring-webmvc-6.1.4.jar:6.1.4]
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1167) ~[spring-webmvc-6.1.4.jar:6.1.4]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1106) ~[spring-webmvc-6.1.4.jar:6.1.4]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) ~[spring-webmvc-6.1.4.jar:6.1.4]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.1.4.jar:6.1.4]
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) ~[spring-webmvc-6.1.4.jar:6.1.4]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) ~[tomcat-embed-core-10.1.19.jar:6.0]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.1.4.jar:6.1.4]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.19.jar:6.0]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.19.jar:10.1.19]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.1.4.jar:6.1.4]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.4.jar:6.1.4]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.1.4.jar:6.1.4]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.4.jar:6.1.4]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.1.4.jar:6.1.4]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.4.jar:6.1.4]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.19.jar:10.1.19]
at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]
정보근
지식공유자2024.04.02
안녕하세요 정보근입니다:)
Whitelabel Error Page는 주로 스프링이 요청을 처리하던 중 발생한 예외를 핸들링하지 못했을 때 발생했는데요.
제일 먼저 확인해볼 건 URL의 경로나, 리턴할 HTML 파일 등에 오타가 있지 않았는지 등입니다.
예외 메시지를 읽어보면 "Error resolving template [presetation/index]"라는 내용이 보이네요.
presentation/index 경로의 템플릿을 찾지 못해서 발생한 예외이고 컨트롤러에서 리턴할 html 경로를 presetation으로 오타가 있었던 것 같네요.
리턴값을 "presentation/index"로 바꿔주시거나, html 경로의 디렉토리를 "presetation"으로 바꾸면 문제 해결될 것으로 생각됩니다
감사합니다.
0
인프런 AI 인턴
2024.03.31
안녕하세요, 인프런 AI 인턴입니다. just kim님의 질문에 대해 답변 드리겠습니다.
강의 중 “입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기“에서 제시된 부트스트랩 템플릿 관련 질문으로 보입니다. just kim님이 공유해주신 상황과 유사한 이슈로 다른 수강생이 질문한 내용이 있어, 그에 대한 답변을 참고하시면 도움이 될 것 같습니다.
관련 질문 및 답변:
이 질문에서는 Thymeleaf를 사용하여 부트스트랩 템플릿을 적용하는 과정에서 페이지 간 이동 시 CSS가 적용되지 않는 문제에 대해 논의되었습니다. 정보근 강사님께서는 템플릿을 프로젝트 디렉토리 내부로 옮기고 절대경로로 css 파일을 참조해야 한다고 설명하셨습니다.
위 링크된 질문 및 답변에는 구체적으로 vendor
폴더가 언급되지 않았으나, 템플릿을 프로젝트에 적절히 통합하는 방법에 대한 정보를 얻을 수 있습니다. 강사님이 제시한 방법과 유사한 구조를 프로젝트에 적용하는 경우, vendor
폴더가 필요한 종속성을 포함하고 있을 수 있으므로, 강의 내용이나 제공된 강의자료를 다시 확인하시는 것이 좋습니다.
특히, 제공된 자료와 실제 강의 내용에서 사용된 자료가 다르게 보일 때는 새 버전의 템플릿이 업데이트되었을 가능성도 있으므로, 이 경우 강사님께서 제공한 GitHub 레포지토리의 내용을 참고하는 것이 좋습니다.
강사님의 GitHub 레포지토리를 확인하여 필요한 vendor
폴더 및 기타 자료를 찾는 것도 하나의 방법이 될 수 있습니다. 강의를 따라가면서 필요한 자료의 부족이나 차이점이 발생하는 경우, 이를 강의 Q&A 섹션에 질문하여 해결하는 것이 가장 좋습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
답변 2