-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathTemplateRenderingService.java
More file actions
41 lines (34 loc) · 1.35 KB
/
TemplateRenderingService.java
File metadata and controls
41 lines (34 loc) · 1.35 KB
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
31
32
33
34
35
36
37
38
39
40
41
package org.seqra.spring.content;
import org.springframework.stereotype.Service;
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;
import org.thymeleaf.templatemode.TemplateMode;
import org.thymeleaf.templateresolver.StringTemplateResolver;
@Service
public class TemplateRenderingService {
private final TemplateEngine templateEngine;
public TemplateRenderingService() {
this.templateEngine = new TemplateEngine();
StringTemplateResolver resolver = new StringTemplateResolver();
resolver.setTemplateMode(TemplateMode.HTML);
resolver.setCacheable(false);
this.templateEngine.setTemplateResolver(resolver);
}
/**
* Renders a template from user-provided content.
* Data flows from the request through templateContent parameter to the TemplateEngine.
*/
public String renderFromContent(String templateContent) {
Context context = new Context();
context.setVariable("appName", "Demo Application");
return templateEngine.process(templateContent, context);
}
/**
* Renders a template using the request object.
* Demonstrates data flow through object field access.
*/
public String renderFromRequest(RenderRequest request) {
String content = request.getTemplateContent();
return renderFromContent(content);
}
}