12/08/2018, 13:54

Sử dụng Email template trong Wicket Framework

Trong bài viết này mình sẽ trình bày về việc gửi email sử dụng template trong WICKET Framework Trong các dự án liên quan đến WICKET việc gửi mail theo template ví dụ 1. Email Register 2. Email Confirm Email 3. Email Forgot Password 4. Email giới thiệu sản phẩm mới ... ...

Trong bài viết này mình sẽ trình bày về việc gửi email sử dụng template trong WICKET Framework

Trong các dự án liên quan đến WICKET việc gửi mail theo template ví dụ

    1. Email Register
    2. Email Confirm Email
    3. Email Forgot Password
    4. Email giới thiệu sản phẩm mới
    ...

1.Sử dụng thư viện được tích hợp sẵn trong Wicket

Trong framework WICKET cung cấp sẵn thư viện để việc tạo email từ template một cách đơn giản, Đó là sử dụng class PackageTextTemplate

Sau đây mình sẽ trình bày cách tạo mail template trong project wicket

1.1. Tạo 1 file mail template

Hello ${name},

You receive this email because you are subscribed for our products.
We just released a new version of product X.

Please download it <a href="${downloadLink}">here</a>

Sincerely,
The Marketing team

**Chú ý: **đến name∗∗,∗∗{name}** , **name,{downloadLink} -> Key nhận dạng để parser và thay thế chuỗi trong file

1.2.Trong source code java

Map<String, Object> variables = new HashMap<>();
variables.put("name", "Viblo");
variables.put("downloadLink", "https://viblo.asia/");

PackageTextTemplate template = new PackageTextTemplate(HomePage.class, "mail-template.tmpl");
CharSequence templateHtml = template.asString(variables);
System.out.println(templateHtml.toString());

Chú ý: file mail-template.tmpl phải để trong thư mục resource có cấu trúc thư mục giống với cấu trúc package

1.3.Kết quả

Hello Viblo,

You receive this email because you are subscribed for our products.
We just released a new version of product X.

Please download it <a href="https://viblo.asia/">here</a>

Sincerely,
The Marketing team

Đơn giản để tạo 1 mail template, bên cạnh đó bạn cũng có thể tạo mail template là html hoặc các định dạng khác bằng cách truyền thêm định contentType vào khi khởi tạo PackageTextTemplate

public PackageTextTemplate(Class<?> clazz, String fileName, String contentType)

Về contentType bạn có thể tham khảo ở đây http://docs.oracle.com/javaee/6/api/javax/ws/rs/core/MediaType.html

Trên là cách tạo mail template trong wicket, bên cạnh đó với những dự án java thì thường hay sử dụng framework template engine nổi tiếng velocity để tạo mail template trong hệ thống

Link source code example: wicketMailTemplate

0