Springboot整合Freemarker的实现详细过程

网友投稿 545 2023-02-27

Springboot整合Freemarker的实现详细过程

Springboot整合Freemarker的实现详细过程

基本配置、测试

1、导入依赖

org.springframework.boot

spring-boot-starter-freemarker

2、准备一个Freemarker模板(.ftl)

3、注入Configuration对象(freemarker.template包下)

4、生成商品详情模板

@Controller

@RequestMapping("/goodItem")

public class GoodItemController {

@Reference

private IGoodsService goodsService;

@Autowired

private Configuration configuration;

@RequestMapping("/createHtml")

@ResponseBody

public String createHtml(int gid, HttpServletRequest request){

//通过商品id获取商品详情信息

Goods goods = goodsService.queryById(gid);

String [] images=goods.getGimage().split("\\|");

//通过模板生成商品静态页面

try {

//获取商品详情的模板对象

Template template = configuration.getTemplate("goodsItem.ftl");

//准备商品数据

Map map=new HashMap<>();

map.put("goods",goods);

map.put("context",request.getContextPath());

//freemarker页面没有分割功能,所以通过后台将图片分割后,将图片数组传到后台

map.put("images",images);

//生成静态页

//获得classpath路径

//静态页面的名称必须和商品有所关联,最简单的方式就是用商品的id作为页面的名字

String path = this.getClass().getResource("/static/page/").getPath()+goods.getId()+".html";;

template.process(map,new FileWriter(path));

} catch (Exception e) {

e.printStackTrace();

}

return "";

}

}

注意:

1、freemarker页面不能通过获得项目的根路径。

因此可从后台将根路径传到前端,然后通过获取。

2、当page是一个空文件夹的时候,会报错。这是因为maven项目不会对空文件夹进行打包编译。

FreeMarker的基本语法

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何制作app软件(怎么自己制作app软件)
下一篇:vue开发小程序软件(vue 开发小程序)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~