광산 매핑에 문제가 있습니다. 나는 다음과 같은 구성을 가진 템플릿 해결이 :요청 매핑없이 Spring 및 Thymeleaf에서 html 파일 제공
@Bean(name="templateResolver")
public ServletContextTemplateResolver getServletContextTemplateResolver() {
ServletContextTemplateResolver templateResolver = new ServletContextTemplateResolver();
templateResolver.setPrefix("/WEB-INF/views/");
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode("HTML5");
templateResolver.setCharacterEncoding("UTF-8");
templateResolver.setCacheable(false);
return templateResolver;
}
@Bean(name="templateEngine")
public SpringTemplateEngine getTemplateEngine() {
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.setTemplateResolver(getServletContextTemplateResolver());
return templateEngine;
}
@Bean(name="viewResolver")
public ThymeleafViewResolver getThymeleafViewResolver() {
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
viewResolver.setTemplateEngine(getTemplateEngine());
viewResolver.setOrder(1);
viewResolver.setCharacterEncoding("UTF-8");
return viewResolver;
}
을 그리고 난 내 프로젝트의 구조를 가지고 : 나는 thymeleaf 스프링 4.0을 사용하고
-WEB-INF
--views
---home.html
---registration.html
. 집에, 나는 내 컨트롤러에 다음 requestMapping을 추가했습니다 :
@RequestMapping(value = "/", method = RequestMethod.GET)
public String start(Model model) {
return "home";
}
내가 registration.html에 대한 요청 매핑이 없습니다. 내 home.html을에서
내가 링크를 한 (thymeleaf 앵커 태그) :
<a href="registration.html" th:href="@{/registration.html}" th:text="#{navigation.registration}">Registration</a>
나는/MyApp를 아래 바람둥이 내 응용 프로그램을 바인더 제본하고 내가/MyApp를에 입력 할 때 나는 home.html을 페이지를 얻을 (나는 요청 매핑을 가지고있다.)하지만, /myapp/registration.html에 들어가면 404가된다.
컨트롤러에 모든 페이지를 추가하지 않고 정적 HTML 파일을 제공하려면 어떻게해야합니까? 가능한가? 정적 리소스를 사용하여 시도했지만 작동하지 않습니다.
나는 또한 내가 가지고 구조 뷰 디렉토리 레벨을 이동하려고 :
-WEB-INF
-views
--home.html
--registration.html
을 나는 /myapp/views/registration.html에 입력 할 수 있었다, 그러나 나는/MyApp를로 가져올 수 없습니다 /registration.html
무엇을 의미합니까? 이 매개 변수는 div 또는 본문에 추가되어 completly 새 페이지로 이동하려고합니다. 나는 홈 페이지에 머물고 싶지 않고 내용을 바꾸고 싶다. 무슨 뜻인지 설명해 주시겠습니까? –
내 말은, 홈페이지 자체에서 registration.html을 표시 할 수 있습니다. registeration.html을 다른 페이지에 표시하려면 클라이언트 - 서버 아키텍처에서 작업 할 때 서버 요청을 제공해야합니다. 그렇지 않으면 home.html에 registration.html을 표시하고 css 또는 js를 사용하여 home.html 내용을 숨 깁니다. – sitakant