2013-07-19 2 views
0

자바 서블릿 웹 애플리케이션 용 콧수염 템플릿을 저장할 위치와 템플리트가있는 서블릿을 지정하는 방법을 이해하려고합니다. 파일 경로 등을 어떻게 설정합니까?자바 서블릿에서 콧수염 템플릿을 찾는 방법 및 위치

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
{ 
    MustacheFactory mf = new DefaultMustacheFactory(); 
    Mustache fromFile = mf.compile("template.mustache"); 
    Example e = new Example(); e.variable = "this is some value!"; 
    fromFile.execute(response.getWriter(), e); 
} 

이것은 내 코드입니다. 내 템플릿은 내 서블릿 파일과 같은 폴더에 있습니다.

답변

2
mf.compile(new InputStreamReader(getServletContext().getResourceAsStream("template.mustache")), "template.mustache"); 

은 필요한 것을 수행해야합니다. 나는 당신도 더 쉽게 할 수있을 것이라고 생각합니다.

mf.compile("template.mustache"); 

그러나 나는 완전히 확신하지 못합니다.

템플릿 파일은 컴파일 된 .class 파일과 동일한 폴더에 있어야합니다.

+0

juhu, 내가 정확히 필요한 것 : +1 – elrado

1

또는 Trimou Mustache implementation을 사용하고 ServletContextTemplateLocator이 내장되어 있습니다. (또는 자신 만의 TemplateLocator를 구현할 수 있습니다 :-).

+0

정말 멋진 뮈스ache 구현입니다. 나는 벤치 마크 테스트를했고 spullara의 버전과 거의 비슷합니다 (최적화가없는 경우). 그러나 그것은 훨씬 더 확장 성이있어 매우 매력적인 점입니다. 나를 귀찮게하는 유일한 것은 의존성 트리였습니다. 너무 뚱뚱했습니다. 내 프로젝트는 3Mb가 더 커진 것을 포함하여 8Mb 만 사용했습니다. – Miere

+1

참고로 Trimou 2.0의 발자취가 크게 줄어 들었습니다. https://github.com/trimou/trimou/releases –

+0

고마워, Martin. 새 버전을 살펴 보겠습니다. – Miere

관련 문제