• spring boot 使用两个模板引擎 一freemaker (来自学成在线第四天的页面静态化) 静态化之后上传到gridFs服务器上 目录如下 1.配置文件 application.yml resources下templates下index_banner.ftl模板页面 ...

    spring  boot  使用两个模板引擎

    一 freemaker (来自学成在线第四天的页面静态化)

    静态化之后上传到 gridFs 服务器上

    目录如下

    1.配置文件

    application.yml

    resources下templates 下 index_banner.ftl 模板页面

    2.在test测试下写一个测试类   GridFsTest

    @SpringBootTest
    @RunWith(SpringRunner.class)
    public class GridFsTest {
    
        @Autowired
        GridFsTemplate gridFsTemplate;
    
        @Autowired
        GridFSBucket gridFSBucket;
    
        //存文件
        @Test
        public void testStore() throws FileNotFoundException {
            //定义file
            File file =new File("d:/index_banner.ftl");
            //定义fileInputStream
            FileInputStream fileInputStream = new FileInputStream(file);
            ObjectId objectId = gridFsTemplate.store(fileInputStream, "index_banner.ftl");
            System.out.println(objectId);
        }
    
        //取文件
        @Test
        public void queryFile() throws IOException {
            //根据文件id查询文件
            GridFSFile gridFSFile = gridFsTemplate.findOne(Query.query(Criteria.where("_id").is("5ce799bf840d5e6d88a0a0f7")));
    
            //打开一个下载流对象
            GridFSDownloadStream gridFSDownloadStream = gridFSBucket.openDownloadStream(gridFSFile.getObjectId());
            //创建GridFsResource对象,获取流
            GridFsResource gridFsResource = new GridFsResource(gridFSFile,gridFSDownloadStream);
            //从流中取数据
            String content = IOUtils.toString(gridFsResource.getInputStream(), "utf-8");
            System.out.println(content);
    
        }
    
    }

    详细解析页面静态化的流程实质是什么。。。。。。。。。。。。。。。。。。。。

     

     

     

     

    二thymeleaf 

       自己写的博客,使用的就是这个技术,但是看着有点麻烦,以后查看博客的时候再看使用

    使用spring  框架使用freemaker 

    freemaker

    (来自平优购的day12 的 商品详情页)感觉跟上面的spring boot集成的模式是一模一样的呀

    最基础的配置文件,以及代码

    1.3.3生成文件
    使用步骤:
    第一步:创建一个 Configuration 对象,直接 new 一个对象。构造方法的参数就是 freemarker的版本号。
    第二步:设置模板文件所在的路径。
    第三步:设置模板文件使用的字符集。一般就是 utf-8.
    第四步:加载一个模板,创建一个模板对象。
    第五步:创建一个模板使用的数据集,可以是 pojo 也可以是 map。一般是 Map。
    第六步:创建一个 Writer 对象,一般创建一 FileWriter 对象,指定生成的文件名。
    第七步:调用模板对象的 process 方法输出文件。
    第八步:关闭流
    =========================================================================================
    代码:
    创建Test类 main方法如下:
    	     //1.创建配置类
    		Configuration configuration=new Configuration(Configuration.getVersion());
    		//2.设置模板所在的目录 
    		configuration.setDirectoryForTemplateLoading(new File("D:/pinyougou_work/freemarkerDemo/src/main/resources/"));
    		//3.设置字符集
    		configuration.setDefaultEncoding("utf-8");
    		//4.加载模板
    		Template template = configuration.getTemplate("test.ftl");
    		//5.创建数据模型
    		Map map=new HashMap();
    		map.put("name", "张三 ");
    		map.put("message", "欢迎来到神奇的品优购世界!");
    		//6.创建Writer对象
    		Writer out =new FileWriter(new File("d:\\test.html"));
    		//7.输出
    		template.process(map, out);
    		//8.关闭Writer对象
    		out.close();
    
    执行后,在D盘根目录即可看到生成的test.html ,打开看看

    其实静态化的流程都是一样的,

    只是在第四步的时候,是注入 模板对象@Autotuy  ReTemplate  reTemplate,

    第五步的时候是注入其他的依赖   获取页面详情页所需要的数据  然后  数据+模板引擎=新的页面哟

     

     

     

     

    展开全文
  • 新一代Java模板引擎Thymeleaf Thymeleaf是一款用于渲染XML/XHTML/HTML5内容的模板引擎。类似JSP,Velocity,FreeMaker等,它也可以轻易的与Spring MVC等Web框架进行集成作为Web应用的模板引擎。与其它模板引擎相比...
  • velocity .vm Java模板引擎 2013-08-04 23:14:52
    Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员...
  • 模板引擎比较 2019-08-01 16:30:06
    1、FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java...
  • Vue.js模板引擎的使用 2019-07-18 08:11:44
    在我们做项目的过程中,往往会...这就需要写许多的代码,为了减少代码量,我们可以适当的去使用一些插件,下面我就来介绍一下如何使用vue的模板引擎,首先,vue数据绑定最常见的形式就是使用“Mustache”语法 (双...
  • Java字符串模版 2016-12-08 13:29:04
    Java字符串模版
  • 符号 意义 显示形式 示例 G 公元 文本 AD y 年份 数字 2001 M 月 文本或数字 July或07 d 日 10 数字 10 h A.M./P.M.制的钟点(1~12) 数字 12 H 24小时制的钟点(0~23) 数字 ......
  • 一 Spring MVC的JSP集成 1 代码 @Bean public InternalResourceViewResolver viewResolver() { InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); viewResolver.setPrefix...
  • java发送邮件(spring+模版) 2020-06-06 23:31:01
    2 使用velocityEngine模版引擎,获取模版信息。 3 JavaMailSenderImpl+SimpleMailMessage+BodyPart+Multipart:获得模版邮件body并发送邮件。 4 包含简单项目+所需要的jar。 5 说明:项目只是一个模版,不能直接运行...
  • 一、前言 在上一篇博客中小编向大家介绍了发送带附件的邮件,实践一下也是不错的。这一篇博客是为下一篇博客进行铺垫的,因为项目中需要一个推送的功能,... FreeMarker是一款模板引擎: 即一种基于模板和要改变的数
  • 目录 前言 模板引擎FreeMarker 模板引擎是什么? FreeMarker是什么? FreeMarker如何使用? 加入依赖 创建Configuration实例 创建数据模型 获取模板 ...
  • 模板引擎2.标准方言3.表达式语法 基础 1.模板引擎 thymeleaf是java的模板引擎,把界面公用的部分进行提取,能够处理html,xml,js,css 其他常见模板引擎jsp,freemarker 是自然模板,原型即界面 语法优雅易懂 ...
  • package com.test.velocity; import java.io.StringWriter; import java.util.Date; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.VelocityEngine; public class HelloVelocit
  • 项目做异地登录提醒功能,通过java mail发送邮件。读取邮件模板sendMail.vm文件。 1.邮件发送 import java.io.StringWriter; import java.util.Properties; import javax.mail.Message; import javax.mail....
  • java开源大全 2007-07-30 12:50:00
    Spring Framework 【Java开源 J2EE框架】Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是...
  • springboot提供了大量的模板引擎,包含FreeMarker、Groovy、Thymeleaf、Velocity和Mustache,springboot中...Thymeleafsh是一个java类库,是xml/xhtml/htmMVCl5的模板引擎,可以作为MVC的web应用的view层。下面举...
  • 工作流(Workflow) 2017-12-22 16:42:54
    工作流(Workflow)是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型表达并对其实施计算。...
  • #foreach($!obj in $!tables)  <tr>   #if( "$!obj.name" == "ga_dtbz" )  #set($obj.description = $descriptionList[0...
  • VM:velocity模板 2019-02-11 16:42:40
    vm是一种基于java末班引擎,但允许任何人使用简单而强大的模板语言来引用定义在java代码中的对象。 二、基本语法 “#”用来标识velocity的脚本语句 “$”用来标识一个对象(或理解为变量) “{}”用来明确标识...
  • 一个完整的模板技术需要四个元素:①模板语言(使用的语法) ②包含模板语言的模板文件(.ftl结尾) ③模板引擎(jar包)④拥有动态数据的数据对象 FreeMarker是一款模板引擎:即一种基于模板和要改变的数据,并用来...
1 2 3 4 5 ... 7
收藏数 126
精华内容 50