Example usage for org.springframework.web.servlet.view.freemarker FreeMarkerView setConfiguration

List of usage examples for org.springframework.web.servlet.view.freemarker FreeMarkerView setConfiguration

Introduction

In this page you can find the example usage for org.springframework.web.servlet.view.freemarker FreeMarkerView setConfiguration.

Prototype

public void setConfiguration(@Nullable Configuration configuration) 

Source Link

Document

Set the FreeMarker Configuration to be used by this view.

Usage

From source file:org.hdiv.web.servlet.view.freemarker.FreeMarkerMacroTests.java

public void testAllMacros() throws Exception {
    DummyMacroRequestContext rc = new DummyMacroRequestContext(request);
    Map msgMap = new HashMap();
    msgMap.put("hello", "Howdy");
    msgMap.put("world", "Mundo");
    rc.setMessageMap(msgMap);//from   w w w  .jav  a2  s. co  m
    Map themeMsgMap = new HashMap();
    themeMsgMap.put("hello", "Howdy!");
    themeMsgMap.put("world", "Mundo!");
    rc.setThemeMessageMap(themeMsgMap);
    rc.setContextPath("/springtest");

    TestBean tb = new TestBean("Darren", 99);
    tb.setSpouse(new TestBean("Fred"));
    tb.setJedi(true);
    request.setAttribute("command", tb);

    HashMap names = new HashMap();
    names.put("Darren", "Darren Davison");
    names.put("John", "John Doe");
    names.put("Fred", "Fred Bloggs");
    names.put("Rob&Harrop", "Rob Harrop");

    Configuration config = fc.getConfiguration();
    Map model = new HashMap();
    model.put("command", tb);
    model.put("springMacroRequestContext", rc);
    model.put("msgArgs", new Object[] { "World" });
    model.put("nameOptionMap", names);
    model.put("options", names.values());

    FreeMarkerView view = new FreeMarkerView();
    view.setBeanName("myView");
    view.setUrl("test.ftl");
    view.setExposeSpringMacroHelpers(false);
    view.setConfiguration(config);
    view.setServletContext(new MockServletContext());

    view.render(model, request, response);

    // tokenize output and ignore whitespace
    String output = response.getContentAsString();
    System.out.println(output);
    String[] tokens = StringUtils.tokenizeToStringArray(output, "\t\n");

    for (int i = 0; i < tokens.length; i++) {
        if (tokens[i].equals("NAME"))
            assertEquals("Darren", tokens[i + 1]);
        if (tokens[i].equals("AGE"))
            assertEquals("99", tokens[i + 1]);
        if (tokens[i].equals("MESSAGE"))
            assertEquals("Howdy Mundo", tokens[i + 1]);
        if (tokens[i].equals("DEFAULTMESSAGE"))
            assertEquals("hi planet", tokens[i + 1]);
        if (tokens[i].equals("MESSAGEARGS"))
            assertEquals("Howdy[World]", tokens[i + 1]);
        if (tokens[i].equals("MESSAGEARGSWITHDEFAULTMESSAGE"))
            assertEquals("Hi", tokens[i + 1]);
        if (tokens[i].equals("THEME"))
            assertEquals("Howdy! Mundo!", tokens[i + 1]);
        if (tokens[i].equals("DEFAULTTHEME"))
            assertEquals("hi! planet!", tokens[i + 1]);
        if (tokens[i].equals("THEMEARGS"))
            assertEquals("Howdy![World]", tokens[i + 1]);
        if (tokens[i].equals("THEMEARGSWITHDEFAULTMESSAGE"))
            assertEquals("Hi!", tokens[i + 1]);
        if (tokens[i].equals("URL"))
            assertEquals("/springtest/aftercontext.html", tokens[i + 1]);
        if (tokens[i].equals("FORM1"))
            assertEquals("<input type=\"text\" id=\"name\" name=\"name\" value=\"Darren\"     >",
                    tokens[i + 1]);
        if (tokens[i].equals("FORM2"))
            assertEquals(
                    "<input type=\"text\" id=\"name\" name=\"name\" value=\"Darren\" class=\"myCssClass\"    >",
                    tokens[i + 1]);
        if (tokens[i].equals("FORM3"))
            assertEquals("<textarea id=\"name\" name=\"name\" >Darren</textarea>", tokens[i + 1]);
        if (tokens[i].equals("FORM4"))
            assertEquals("<textarea id=\"name\" name=\"name\" rows=10 cols=30>Darren</textarea>",
                    tokens[i + 1]);
        //TODO verify remaining output (fix whitespace)
        if (tokens[i].equals("FORM9"))
            assertEquals("<input type=\"password\" id=\"name\" name=\"name\" value=\"\"     >", tokens[i + 1]);
        if (tokens[i].equals("FORM10"))
            assertEquals("<input type=\"hidden\" id=\"name\" name=\"name\" value=\"Darren\"     >",
                    tokens[i + 1]);
        if (tokens[i].equals("FORM11"))
            assertEquals("<input type=\"text\" id=\"name\" name=\"name\" value=\"Darren\"     >",
                    tokens[i + 1]);
        if (tokens[i].equals("FORM12"))
            assertEquals("<input type=\"hidden\" id=\"name\" name=\"name\" value=\"Darren\"     >",
                    tokens[i + 1]);
        if (tokens[i].equals("FORM13"))
            assertEquals("<input type=\"password\" id=\"name\" name=\"name\" value=\"\"     >", tokens[i + 1]);
        if (tokens[i].equals("FORM15"))
            assertEquals("<input type=\"hidden\" name=\"_name\" value=\"on\"/>", tokens[i + 1]);
        if (tokens[i].equals("FORM15"))
            assertEquals("<input type=\"checkbox\" id=\"name\" name=\"name\" />", tokens[i + 2]);
        if (tokens[i].equals("FORM16"))
            assertEquals("<input type=\"hidden\" name=\"_jedi\" value=\"on\"/>", tokens[i + 1]);
        if (tokens[i].equals("FORM16"))
            assertEquals("<input type=\"checkbox\" id=\"jedi\" name=\"jedi\" checked=\"checked\" />",
                    tokens[i + 2]);
    }
}