Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

자기 혐오 개발자

[Java] Velocity 2탄. 스프링에 적용 [출처] [Java] Velocity 2탄. 스프링에 적용 본문

Java,JSP

[Java] Velocity 2탄. 스프링에 적용 [출처] [Java] Velocity 2탄. 스프링에 적용

올라치노 2018. 5. 15. 23:21

pom.xml에서

<!-- Velocity. -->

<dependency>

    <groupId>org.apache.velocity</groupId>

    <artifactId>velocity</artifactId>

    <version>1.7</version>

    </dependency>

<dependency>

     <groupId>org.apache.velocity</groupId>

     <artifactId>velocity-tools</artifactId>

     <version>2.0</version>

</dependency>



Java단에서는


VelocityEngine velocityEngine = new VelocityEngine();

// 이 부분이 중요하다..

velocityEngine.setApplicationAttribute("javax.servlet.ServletContext",

request.getSession().getServletContext());

Properties properties = new Properties();

properties.setProperty("resource.loader", "webapp");

properties.setProperty("webapp.resource.loader.class",

"org.apache.velocity.tools.view.WebappResourceLoader");

properties.setProperty("webapp.resource.loader.path", TEMPLATE_LOCATION);

velocityEngine.init(properties);


VelocityContext velocityContext = new VelocityContext();

velocityContext.put("mail_name", vo.getCompany_name());

velocityContext.put("mail_content", vo.getReply_content());

StringWriter stringWriter = new StringWriter();


// 메일 템플릿 저장된 곳에서 파일을 가져온다.

Template template = velocityEngine.getTemplate(File.separator + MAIL_TEMPLATE,"UTF-8");

template.merge(velocityContext, stringWriter);

logger.info(" template = " + stringWriter.toString());



properties에서는

#Velocity.

velocity.template=/resources/templates/velocity

mail.template=메일.html



템플릿 html저장 위치는

 



템플릿 html은

    </HEAD>

    <BODY>

      안녕하십니까, $mail_name 님.

     $mail_content

    </BODY>

  </HTML>