spring mvc integrates freemarker based on annotation

  • 2020-05-27 04:43:51
  • OfStack

Web - based improvements to: the most normal version

<?xml version="1.0" encoding="UTF-8"?> 
<beans 
    xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:p="http://www.springframework.org/schema/p" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans  
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
    http://www.springframework.org/schema/context  
    http://www.springframework.org/schema/context/spring-context-2.5.xsd"> 

    <!--  for freemarker View configuration  --> 
    <bean id="viewResolver" 
        class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> 
        <property name="order" value="5" /> 
        <property name="suffix" value=".ftl" /> 
        <property name="contentType" value="text/html;charset=UTF-8" />
    </bean> 

      
<bean id="freemarkerConfig" 
        class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> 
        <property name="templateLoaderPath" value="/WEB-INF/view/" /> 
        <property name="freemarkerSettings"> 
            <props> 
                <prop key="template_update_delay">0</prop> 
                <prop key="default_encoding">UTF-8</prop> 
                <prop key="number_format">0.##########</prop> 
                <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop> 
                <prop key="classic_compatible">true</prop> 
                <prop key="template_exception_handler">ignore</prop> 
            </props> 
        </property> 
    </bean> 

Controller build

import javax.servlet.http.HttpServletRequest; 

import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import org.springframework.web.servlet.ModelAndView; 

@Controller 
public class SpringMvcController { 

    @RequestMapping(value="/welcome",method={RequestMethod.GET})  
    public ModelAndView getFirstPage(HttpServletRequest request) { 
        //welcom Is the name of the view ( welcom.ftl )  
        ModelAndView mv = new ModelAndView("welcom"); 
        mv.addObject("name", "My First Spring Mvc"); 
        return mv; 
    } 
} 


Knock on url http: / / localhost: 8080 / welcome will to WEB INF/view/welcom ftl page rendering data
welcom ftl page
 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 
Hello ${name} 
</body> 
</html> 

Page out of the effect:
Hello My First Spring Mvc

Related articles: