2014-09-02 3 views
0

스프링 MVC 웹 응용 프로그램에 thymeleaf 사용하여 페이지 사이에 값을 전달하고 나는이내가 컨트롤러 클래스에서 생성 한 문자열 변수가

${time} 

내 코드를 사용하여 JSP 페이지에 인쇄 할 방법 thymeleaf 뷰 해석기를 사용하지 않으면 작동하지만, 하나를 사용하면 작동하지 않습니다. 여기

내 컨트롤러 클래스

@Controller 
public class HomeController { 

@RequestMapping(value = "/", method = RequestMethod.GET) 
public String home(Locale locale, Model model) { 

    String thetime = "the time"; 
    model.addAttribute("time", thetime); 

    return "home.jsp"; 
} 

그리고 내 .jsp로 페이지입니다

<html> 
    <head> 
    <title>Home</title> 
    </head> 
<body> 
<h1> 
    Hello world! 
</h1> 

<P> The time on the server is ${time}. </P> 
</body> 
</html> 

내 thymeleaf 확인자 구성 :

@Bean 
public ServletContextTemplateResolver templateResolver() { 
     ServletContextTemplateResolver resolver = new ServletContextTemplateResolver(); 
     resolver.setPrefix("/WEB-INF/views/"); 
     resolver.setSuffix(".html"); 
     resolver.setTemplateMode("HTML5"); 
     resolver.setOrder(1); 
    resolver.setCacheable(false); 
    return resolver; 
    } 
    @Bean 
    public SpringTemplateEngine templateEngine() { 
     SpringTemplateEngine engine = new SpringTemplateEngine(); 
     engine.setTemplateResolver(templateResolver()); 
     engine.setMessageSource(messageSource()); 

     return engine; 
    } 

    @Bean 
    public ThymeleafViewResolver thymeleafViewResolver() { 
     ThymeleafViewResolver resolver = new ThymeleafViewResolver(); 
     String[] vistas = {"*.html", "*.jsp"}; 
     resolver.setTemplateEngine(templateEngine()); 
     resolver.setOrder(1); 
     resolver.setViewNames(vistas); 
     resolver.setCache(false); 
     return resolver; 
    } 

    @Bean 
    public SpringResourceTemplateResolver thymeleafSpringResource() { 
     SpringResourceTemplateResolver vista = new SpringResourceTemplateResolver(); 
     vista.setTemplateMode("HTML5"); 
     return vista; 
    } 

thymeleaf이 할 수있는 특별한 표기가 있는가 ?

+1

, 당신이 JSP를 사용하지 않는 : 당신이 (약 또는) 같이 할 필요가 Thymeleaf 형식으로 변환 해당 파일을 원하는 확장하지 .jsp로 .html 중에서해야하는 경우

thymeleaf와. 너 무슨 뜻이야 _ 일하지 않니? 명확하게. 뭐하고 있니? 무슨 일이 일어날 것으로 예상됩니까? 실제로는 어떻게됩니까? –

답변

0

Aesir's answer 일했지만 내 .jsp 페이지를 .html 페이지로 변경하는 데 반드시 필요한 것은 아닙니다. 방금 이걸 넣었습니다

<div th:text="${time}">TIME_PLACEHOLDER</div> 

그냥 $ {time} 대신 제안 된 HTML 헤더없이 작동했습니다.

0

보기 분석기를 Thymeleaf로 설정했지만 JSP가 작동하지 않는 이유를 렌더링하려고합니다. 아마도

<html xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:th="http://www.thymeleaf.org"> 
    <head> 
    <title>Home</title> 
    </head> 
<body> 
<h1> 
    Hello world! 
</h1> 

<P> The time on the server is <div th:text=#{time}>TIME_PLACEHOLDER</div> </P> 
</body> 
</html> 
관련 문제