欢迎访问昆山宝鼎软件有限公司网站! 设为首页 | 网站地图 | XML | RSS订阅 | 宝鼎邮箱 | 后台管理


新闻资讯

MENU

软件开发知识
原文出处: oKong

媒介

前面讲了这么多直接,都没有涉及到前端web和后端交互的部门。因为作者地址公司是回收前后端疏散方法举办web项目开拓了。所以都是后端提供api接口,前端按照api文档可能处事自行挪用的。靠山也有读者说为何没有关于web这部门的集成文章。本章节就主要讲授下如何渲染页面的。

一点常识

我们知道,在web开拓时,一般城市涉及到许多的静态资源,昆山软件开发,如jsimagecss文件等。

SpringBoot的默认的静态文件目次是:

  • /static
  • /public
  • /resources
  • /META-INF/resources
  • 默认静态文件目次

    所以一般上我们只需要把静态文件放入前面的四个任一一个即可。默认都放在static下,对应路径即为:src/main/resources/static

    而从官网文档里也可以获悉,为了实现动态的html,SpringBoot是通过模版引擎举办页面功效渲染的,劳务派遣管理系统,今朝(1.5.15)版本的提供默认设置的模版引擎主要为:

  • FreeMarker
  • Groovy
  • Thymeleaf
  • Mustache
  • 模版引擎

    对付模版引擎而言,SpringBoot默认存放模版文件的路径为src/main/resources/templates,虽然也可以通过设置文件举办修改的。因为差异的模版引擎对应的设置属性是纷歧样,所以在详细讲授模版引擎时,会提到的。


    虽然了,利用jsp也是可以的,但官方已经不发起利用JSP了,本文也会讲授下SpringBootJSP的支持的,较量有许多老的项目照旧利用JSP居多的。


    知道了以上的一些默认设置和常识点后,就可以举办模版引擎的集成利用了。本章节主要讲授下常用的FreeMarkerThymeleafJSP三个的集成和利用,其他的根基用法都一样,就是各模版引擎的语法的差别了。

    FreeMarker支持

    FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页,电子邮件,设置文件,源代码等)的通用东西。

    示例示例

    0.POM依赖

    <dependency>
    	<groupId>org.springframework.boot</groupId>
    	<artifactId>spring-boot-starter-freemarker</artifactId>
    </dependency>

    1.application.properties设置插手相关设置:

    # 缓存设置 开拓阶段应该设置为false 因为常常会改
    spring.freemarker.cache=false
    
    # 模版后缀名 默认为ftl
    spring.freemarker.suffix=.html
    
    # 文件编码
    spring.freemarker.charset=UTF-8
    
    # 模版加载的目次
    spring.freemarker.template-loader-path=classpath:/templates/
    
    # 设置
    # locale	该选项指定该模板所用的国度/语言选项
    # number_format	指命名目化输出数字的名目:currency、
    # boolean_format	指定两个布尔值的语法名目,默认值是true,false
    # date_format,time_format,datetime_format	命名目化输出日期的名目
    # time_zone	配置名目化输出日期时所利用的时区
    # 数字 千分位标识
    spring.freemarker.settings.number_format=,##0.00

    题外话:具体的设置可拜见org.springframework.boot.autoconfigure.freemarker.FreeMarkerProperties类,可能直接IDE直接设置文件点击查察。

    2.编写节制层

    FreemarkerController.kava:

    //因为是返回页面 所以不能是@RestController
    @Controller
    @RequestMapping("/freemarker")
    public class FreemarkerController {
    	
    	//正常和springmvc配置返回参数是意义的用法了
    	@GetMapping("/map")
    	public String index(String name,ModelMap map) {
    		map.addAttribute("name", name);
    		map.addAttribute("from", "lqdev.cn");
    		//模版名称,实际的目次为:src/main/resources/templates/freemarker.html
    		return "freemarker";
    	}
    	
    	@GetMapping("/mv")
    	public String index(String name,ModelAndView mv) {
    		mv.addObject("name", name);
    		mv.addObject("from", "lqdev.cn");
    		//模版名称,实际的目次为:src/main/resources/templates/freemarker.html
    		return "freemarker";
    	}
    }

    3.编写模版文件

    freemarker.html:

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8" />
        <title>freemarker简朴示例</title>
    </head>
    <body>
    <p>Hello Freemarker</p>
    <!-- 这里留意:默认变量都不能为null的, 当参数为null时,会产生异常的 -->
    <!-- 这里后头几个"!"制止下,这样就是空缺了 -->
    <p>名称:${name!},来自:${from}</p>
    </body>
    </html>

     

    4.启动应用,会见:http://127.0.0.1:8080/freemarker/mv?name=oKong 可能 http://127.0.0.1:8080/freemarker/map?name=oKong 就能查察页面了。

    因此也可以用 <a href=昆山软件开拓 作静态建模" src="/uploads/allimg/c180905/153609161532R0-44933.jpg" />