最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot整合Freemarker的實現(xiàn)詳細過程

 更新時間:2020年12月20日 11:50:26   作者:sinJack  
這篇文章主要介紹了Springboot整合Freemarker的實現(xiàn)詳細過程,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

基本配置、測試

1、導(dǎo)入依賴

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

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("\\|");
    //通過模板生成商品靜態(tài)頁面
    try {
      //獲取商品詳情的模板對象
      Template template = configuration.getTemplate("goodsItem.ftl");
      //準備商品數(shù)據(jù)
      Map<String,Object> map=new HashMap<>();
      map.put("goods",goods);
      map.put("context",request.getContextPath());
      //freemarker頁面沒有分割功能,所以通過后臺將圖片分割后,將圖片數(shù)組傳到后臺
      map.put("images",images);
      //生成靜態(tài)頁
      //獲得classpath路徑
      //靜態(tài)頁面的名稱必須和商品有所關(guān)聯(lián),最簡單的方式就是用商品的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頁面不能通過<base th:href="${#request.getContextPath()+'/'}" rel="external nofollow" >獲得項目的根路徑。
因此可從后臺將根路徑傳到前端,然后通過<base href="${context}/" rel="external nofollow" />獲取。
2、當page是一個空文件夾的時候,會報錯。這是因為maven項目不會對空文件夾進行打包編譯。

FreeMarker的基本語法

在這里插入圖片描述

在這里插入圖片描述

到此這篇關(guān)于Springboot整合Freemarker的實現(xiàn)詳細過程的文章就介紹到這了,更多相關(guān)Springboot整合Freemarker內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java使用JSCH實現(xiàn)SFTP文件管理

    java使用JSCH實現(xiàn)SFTP文件管理

    這篇文章主要為大家詳細介紹了java使用JSCH實現(xiàn)SFTP文件管理,實現(xiàn)上傳、下載等功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Spring Event事件通知機制解讀

    Spring Event事件通知機制解讀

    這篇文章主要介紹了Spring Event事件通知機制解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • java實現(xiàn)學(xué)生管理系統(tǒng)(面向?qū)ο?

    java實現(xiàn)學(xué)生管理系統(tǒng)(面向?qū)ο?

    這篇文章主要為大家詳細介紹了java實現(xiàn)學(xué)生管理系統(tǒng)(面向?qū)ο螅闹惺纠a介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • 使用java + selenium + OpenCV破解網(wǎng)易易盾滑動驗證碼的示例

    使用java + selenium + OpenCV破解網(wǎng)易易盾滑動驗證碼的示例

    這篇文章主要介紹了使用java + selenium + OpenCV破解網(wǎng)易易盾滑動驗證碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • Springboot實現(xiàn)多文件上傳代碼解析

    Springboot實現(xiàn)多文件上傳代碼解析

    這篇文章主要介紹了Springboot實現(xiàn)多文件上傳代碼解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • Elasticsearch配置文件示例示范

    Elasticsearch配置文件示例示范

    這篇文章主要為大家介紹了Elasticsearch配置文件的示例示范,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • jetty運行時無法保存文件的解決方法

    jetty運行時無法保存文件的解決方法

    這篇文章主要為大家詳細介紹了jetty運行時無法保存文件的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Java?POI導(dǎo)出Excel時合并單元格沒有邊框的問題解決

    Java?POI導(dǎo)出Excel時合并單元格沒有邊框的問題解決

    這篇文章主要給大家介紹了關(guān)于Java?POI導(dǎo)出Excel時合并單元格沒有邊框的問題解決辦法,文中通過代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2023-07-07
  • 淺談Java并發(fā)中ReentrantLock鎖應(yīng)該怎么用

    淺談Java并發(fā)中ReentrantLock鎖應(yīng)該怎么用

    本文主要介紹了ava并發(fā)中ReentrantLock鎖的具體使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Java 線程的生命周期詳細介紹及實例代碼

    Java 線程的生命周期詳細介紹及實例代碼

    這篇文章主要介紹了Java 線程的生命周期的相關(guān)資料,并附簡單實例代碼,幫助大家理解,需要的朋友可以參考下
    2016-10-10

最新評論

延边| 东乡族自治县| 如东县| 余庆县| 和硕县| 池州市| 沛县| 新巴尔虎左旗| 邹平县| 绍兴市| 唐河县| 嘉定区| 彭水| 浏阳市| 佳木斯市| 肃北| 苍梧县| 汉中市| 锦州市| 南部县| 五家渠市| 克山县| 宁夏| 无棣县| 宜兴市| 鄯善县| 霸州市| 晋江市| 新巴尔虎左旗| 松潘县| 合阳县| 遵义市| 苍南县| 临洮县| 南汇区| 庆云县| 沈丘县| 清水县| 沂源县| 治多县| 县级市|