Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

FreeMarker: elseif directive

We can define multiple conditional checks using if-elseif-else directive.

 

Syntax

  ...

  ...

  ...

...

  ...

#if>

 

studentGrades.ftl

You are failed

You are passed and got third class

You are passed and got second class

You are passed and got first class

You are passed and got distinction
#if>

Step 1: Define ‘FreeMarkerUtil’ class that take model class and template file as input and merge them.

FreeMarkerUtil.java

package com.sample.app.util;

import java.io.StringWriter;
import java.util.Locale;

import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateExceptionHandler;

public class FreeMarkerUtil {

private static final Configuration FREE_MARKER_CONFIGURATION = new Configuration(Configuration.VERSION_2_3_30);

static {
FREE_MARKER_CONFIGURATION.setClassForTemplateLoading(FreeMarkerUtil.class, "/templates/");
FREE_MARKER_CONFIGURATION.setDefaultEncoding("UTF-8");
FREE_MARKER_CONFIGURATION.setLocale(Locale.US);
FREE_MARKER_CONFIGURATION.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);
}

public static StringWriter mergeModelAndTemplate(Object modelObject, String ftlFile) throws Exception {
StringWriter stringWriter = new StringWriter();

Template template = FREE_MARKER_CONFIGURATION.getTemplate(ftlFile);

template.process(modelObject, stringWriter);

return stringWriter;
}

}

Step 2: Define StudentGradePopulator.

StudentGradePopulator.java
package com.sample.app;

import java.io.StringWriter;
import java.util.HashMap;
import java.util.Map;

import com.sample.app.util.FreeMarkerUtil;

public class StudentGradePopulator {
public static void main(String args[]) throws Exception {
Map modelObject = new HashMap();

modelObject.put("marks", 30);

StringWriter stringWriter = FreeMarkerUtil.mergeModelAndTemplate(modelObject, "studentGrades.ftl");
System.out.println(stringWriter.toString().trim());

modelObject.put("marks", 50);
stringWriter = FreeMarkerUtil.mergeModelAndTemplate(modelObject, "studentGrades.ftl");
System.out.println(stringWriter.toString().trim());

modelObject.put("marks", 70);
stringWriter = FreeMarkerUtil.mergeModelAndTemplate(modelObject, "studentGrades.ftl");
System.out.println(stringWriter.toString().trim());

modelObject.put("marks", 80);
stringWriter = FreeMarkerUtil.mergeModelAndTemplate(modelObject, "studentGrades.ftl");
System.out.println(stringWriter.toString().trim());

}

}

Output

You are failed

You are Passed and got second class

You are passed and got distinction

You are passed and got distinction




Previous                                                    Next                                                    Home


This post first appeared on Java Tutorial : Blog To Learn Java Programming, please read the originial post: here

Share the post

FreeMarker: elseif directive

×

Subscribe to Java Tutorial : Blog To Learn Java Programming

Get updates delivered right to your inbox!

Thank you for your subscription

×