Thursday, 20 March 2025

Use velocity template in spring 5

Step 1

 @Configuration

public class VelocityConfig {


    @Bean

    public VelocityEngine velocityEngine() {

        Properties properties = new Properties();

        properties.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");

        properties.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName());


        VelocityEngine velocityEngine = new VelocityEngine();

        velocityEngine.init(properties);

        return velocityEngine;

    }

}


Step 2

public class VelocityTemplateProcessor {

    private final VelocityEngine velocityEngine;


    public VelocityTemplateProcessor(VelocityEngine velocityEngine) {

        this.velocityEngine = velocityEngine;

    }


    public String processTemplate(String templateName, Map<String, Object> model) {

        Template template = velocityEngine.getTemplate(templateName);

        VelocityContext context = new VelocityContext(model);


        StringWriter writer = new StringWriter();

        template.merge(context, writer);

        return writer.toString();  // Return final processed content

    }

}


Step 3

@RestController

public class MyController {

    private final VelocityTemplateProcessor velocityProcessor;


    public MyController(VelocityTemplateProcessor velocityProcessor) {

        this.velocityProcessor = velocityProcessor;

    }


    @GetMapping("/welcome")

    public String generateWelcomeMessage() {

        Map<String, Object> model = new HashMap<>();

        model.put("username", "Pawan");


        return velocityProcessor.processTemplate("templates/welcome.vm", model);

    }

}


step 4

Located in src/main/resources/templates/welcome.vm:

perl

Monday, 10 March 2025

Code push learnig

Read code before push.

Remove unwanted imports.

Take your time to push code and in hurry.

 

Wednesday, 5 March 2025