SpringBoot的视图渲染

springboot是一种项目的启动方式,spring官方不建议用jsp,而是使用模板引擎。

在创建项目时勾选的架包

xx

 在项目的application.properties中配置视图模板

##配置视图引擎
#模板引擎freemark配置    后缀配置还有ftl
##是否允许请求重写
spring.freemarker.allow-request-override=false
##配置请求作用域
spring.freemarker.request-context-attribute=req
##配置视图模板的后缀名,你可以写html,也可以写ftl
spring.freemarker.suffix=.html
##视图文本类型
spring.freemarker.content-type=text/html;charset=utf-8
##是否打开模板
spring.freemarker.enabled=true
##是否使用缓存
spring.freemarker.cache=false
##模型路径
spring.freemarker.template-loader-path=classpath:/templates/
##编码集
spring.freemarker.charset=UTF-8
##格式化
spring.freemarker.number_format=0.##

 然后项目中有一个resources的文件夹,里面有static   templates两个文件夹

static是由于存放静态资源的,比如页面的js,images,css等

templates是存放页面的,把html或者ftl的页面存放在这个文件夹中

在之前ssm写的时候controller中怎样传值到页面上,现在在controller中还是一样的

controller中

//如果写ResponserBody会自动转json,那后面的return写的就是返回的值
 @RequestMapping("test")
    public String test(HttpServletRequest request, Model model){
      
        request.setAttribute("uname","tom");

        model.addAttribute("state","3");

        int[] arr={12,3,4,5,6511,211111111};
        model.addAttribute("arr",arr);

        List<Users> list=usersService.findAllUsers();
        model.addAttribute("list",list);
        //这个时候返回的名称是视图的名称
        return "index";//模板的名称
    }

页面上


    ${uname}<br/>

    <!--如果uname中有值就用uname中的,没有就是json-->
    ${uname1!"json"}<br/>

    <!--这个效果和上面是一样的,只是显示的是空-->
    ${uname!}<br/>

    <h3>if标签的使用</h3>
    <#if state == '0'>
        禁用
    <#elseif state=='1'>
        启用
    <#else>
        XXX
    </#if>

    <h3>迭代标签</h3>
    <#list arr as li>
        ${li}
    </#list><br/>

    <#list list as li>
        ${li.uname}--${li.age}--${li.address}<br/>
    </#list>
发布了62 篇原创文章 · 获赞 6 · 访问量 2578

猜你喜欢

转载自blog.csdn.net/qq_44424498/article/details/102541611