2013-04-03 3 views
1

Я использовал Freemarker для создания шаблона, который я буду использовать для отправки по электронной почте. Вот фрагмент параметров, которые я хочу включить в шаблон. Iam using java ..Как передать шаблон электронной почты freemarker как письмо в Liferay?

// использование freemarker Конфигурация config = new Configuration(); config.setTemplateLoader (новый ClassTemplateLoader (getClass(), "/"));

 Template template = config.getTemplate("helloworld.ftl"); 

     // Build the data-model 
     Map<String, Object> data = new HashMap<String, Object>(); 
     data.put("message", "Hello!! You have got a new approval mail!"); 

     //List parsing 
     List<String> mailDetails = new ArrayList<String>(); 
     mailDetails.add(fromAddress); 
     mailDetails.add(fromName); 
     mailDetails.add(toAddress); 
     mailDetails.add(toName); 
     mailDetails.add(subject); 
     mailDetails.add(body); 

     data.put("mailDetails", mailDetails); 


     // Console output 
     Writer out = new OutputStreamWriter(System.out); 
     template.process(data, out); 
     out.flush(); 

Это проверено и успешно создан шаблон в указанной папке. Все, что я хочу знать, как передать шаблон, который генерируется как параметр при отправке почты?

Как отправить шаблон в качестве параметра при отправке почты в Liferay Как передать шаблон в качестве параметра при отправке почты?

+0

Где ваш шаблон Freemarker? Кроме того, я не могу себе представить, что у вас не будет проблем с сохранением ваших параметров в списке, в отличие от карты. – Perception

+0

Я отредактировал мое сообщение. pl check –

ответ

1

Вы пишете System.out

// Console output 
    Writer out = new OutputStreamWriter(System.out); 
    template.process(data, out); 
    out.flush(); 

Вы можете написать в строку:

StringWriter out = new StringWriter(); 
    template.process(data, out); 
    String finishedMessage = out.toString(); 

или передать любой другой писатель методу process().

+0

Спасибо Натаниэль. Я принял ваш ответ. Это сработало.. :) –