The Web Development Rendering page of Spring boot Learning (iv) was written in the previous article--Thymeleaf
Next, let's take a look at Freemarker integration Springboot
See controller:
@RequestMapping ("/") public
String index (Modelmap map) {
map.addattribute ("name", "Xiao Jin gg");
Return "index";
}
Pom.xml introduced:
<parent> <groupId>org.springframework.boot</groupId> <artifactId> Spring-boot-starter-parent</artifactid> <version>1.3.2.RELEASE</version> <relativePath/> <!--lookup parent from repository--</parent> <properties> <project.build.sourceencoding>u Tf-8</project.build.sourceencoding> <java.version>1.8</java.version> </properties> < dependencies> <dependency> <groupId>org.springframework.boot</groupId> <ARTIFACTID>SPR ing-boot-starter</artifactid> </dependency> <dependency> <groupid>org.springframework.boo T</groupid> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> & lt;/dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactid>s
Pring-boot-starter-web</artifactid> </dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId> spring-boot-starter-freemarker</artifactid> </dependency> </dependencies> <build> <plu gins> <plugin> <groupId>org.springframework.boot</groupId> <artifactid>spring-boot-m
aven-plugin</artifactid> <configuration> <fork>true</fork> </configuration> </plugin> </plugins> </build>
Write a HELLO.FTL file with the path of this file under Src/main/resources/templates, where the contents of the HELLO.FTL file are as follows:
<! DOCTYPE html>
We can start our program for testing, access to the address:
Http://127.0.0.1:8080/hello, if you see the following information in the browser:
Freemarker template engine welcome into GG to freemarker!
Well, that means you're OK.
freemarker Configuration:
Some common configurations for Freemarker are provided in the Spring boot application.properties properties file, as follows:
Spring.freemarker.allow-request-override=false # Set Whether HttpServletRequest attributes is allowed to override (hide
) controller generated model attributes of the same name. Spring.freemarker.allow-session-override=false # Set Whether HttpSession attributes is allowed to override (hide) contro
Ller generated model attributes of the same name.
Spring.freemarker.cache=false # Enable Template caching.
Spring.freemarker.charset=utf-8 # Template encoding.
Spring.freemarker.check-template-location=true # Check the templates location exists.
Spring.freemarker.content-type=text/html # Content-type value.
Spring.freemarker.enabled=true # Enable MVC View resolution for this technology. Spring.freemarker.expose-request-attributes=false # Set Whether all request attributes should is added to the model prior
To merging with the template. Spring.freemarker.expose-session-attributes=false # Set Whether all HttpSession attributes should being added to the model PR IOR to merging with the template. Spring.freemarker.expose-spring-macro-helpers=true # Set whether to expose a requestcontext for use by spring ' s macro libr
ary, under the name "Springmacrorequestcontext". Spring.freemarker.prefer-file-system-access=true # prefer file system access for template loading.
File system access enables hot detection of template changes.
spring.freemarker.prefix= # prefix that gets prepended to view names when building a URL.
Spring.freemarker.request-context-attribute= # Name of the RequestContext attribute for all views.
spring.freemarker.settings.*= # well-known Freemarker keys which would be passed to Freemarker ' s Configuration.
spring.freemarker.suffix= # suffix that gets appended to view names when building a URL.
spring.freemarker.template-loader-path=classpath:/templates/# comma-separated List of template paths. spring.freemarker.view-names= # White List of view names so can be resolved.
Parameter default configuration, can write not write
Spring.freemarker.allow-request-override=false
spring.freemarker.cache=true
Spring.freemarker.check-template-location=true
Spring.freemarker.charset=utf-8
spring.freemarker.content-type=text/html
Spring.freemarker.expose-request-attributes=false
Spring.freemarker.expose-session-attributes=false
Spring.freemarker.expose-spring-macro-helpers=false
#spring. freemarker.prefix=
#spring. freemarker.request-context-attribute=
#spring. freemarker.settings.* =
#spring. FREEMARKER.SUFFIX=.FTL
#spring. freemarker.template-loader-path=classpath:/templates/# comma-separated list
#spring. freemarker.view-names= # Whitelist of view names that can be resolved
To modify the Index method:
@RequestMapping ("/") public
String index (Modelmap map) {
map.addattribute ("name", "Xiao Jin gg");
Map.put ("Gender", 1);//gender: Gender, 1: male, 0: female;
list<map<string,object>> friends =new arraylist<map <String,Object>> ();
map<string,object> friend = new hashmap<string,object> ();
Friend.put ("name", "Zhang San");
Friend.put ("age", +);
Friends.add (friend);
Friend = new hashmap<string,object> ();
Friend.put ("name", "John Doe");
Friend.put ("Age", a);
Friends.add (friend);
Map.put ("Friends", friends);
Return "index";
}
Modify Page
<! DOCTYPE html>
To restart a running project:
Http://127.0.0.1:8080/hello can see
Freemarker Template engine
Welcome into GG to freemarker!
Gender: Male
My friends:
Name: Zhang San, age 20
Name: John Doe, age 22
At this point, Freemarker integration Springboot is complete!
Welcome everyone to Exchange learning Springboot,java and other fields of technology, Exchange groups: 587674051 Blog Source code is also in the inside