成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

JAVA如何實(shí)現(xiàn)集成Freemarker生成靜態(tài)html

小編這次要給大家分享的是JAVA如何實(shí)現(xiàn)集成Freemarker生成靜態(tài)html,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

成都創(chuàng)新互聯(lián)是一家專注于網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)與策劃設(shè)計(jì),莘縣網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:莘縣等地區(qū)。莘縣做網(wǎng)站價(jià)格咨詢:18982081108

Springboot

1.引入Freemarker jar包

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

2.配置application.properties

### freemarker
spring.freemarker.templateLoaderPath=classpath:/templates/
spring.freemarker.suffix=.ftl
spring.freemarker.charset=UTF-8
spring.freemarker.request-context-attribute=request
spring.freemarker.settings.number_format=0.##########

3.創(chuàng)建ftl文件

JAVA如何實(shí)現(xiàn)集成Freemarker生成靜態(tài)html

在resource文件下新增文件夾templates,在templates文件夾下存放ftl文件,例如:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8"/>
  <title>FreeMarker</title>
</head>
<body>
<h2>Simple project</h2>
<h2>${key}</h2>
</body>
</html>

4.新建controller調(diào)用方法

@SuppressWarnings("unchecked")
  @RequestMapping(value="/test",method=RequestMethod.GET)
  public String test(Model model,HttpServletRequest request) {
     model.addAttribute("key","test project");
    return "test";
  }

JAVA如何實(shí)現(xiàn)集成Freemarker生成靜態(tài)html

5.生成html靜態(tài)文件

使用工具類:

/**
   * @param modeName 模板名稱
   * @param targetFileName 生成后的HTML名稱
   * @param params 傳入模板的參數(shù)
   * @Author: zy
   * @Date: 2020-6-4 09:39:47
   * @Description:生成靜態(tài)頁面
   */
  public void createHtmlByMode(String modeName, String targetFileName, Map<String, Object> params) {
    Writer out = null;
    // 找到服務(wù)器緩存目錄,可以自己指定目錄
    String folder = PropertisUtil.getApplicationProperties("healthReport.logs.urls") + targetFileName;
    // 通過匹配路徑格式拼接完整生成路徑
    String outFile = folder;
    try {
      File file = new File(outFile);
      // 生成空HTML文件
      if (!file.exists()) {
        file.createNewFile();
      }

      // 創(chuàng)建模版對(duì)象
      Template template = cfg.getTemplate(modeName);

      // 設(shè)置輸出流
      out = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");// 設(shè)置編碼 UTF-8

      // 模版數(shù)據(jù)插入?yún)?shù),通過輸出流插入到HTML中
      template.process(params, out);

    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      if (null != out) {
        try {
          out.flush();
          out.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    }
  }

修改controller中的方法:

@SuppressWarnings("unchecked")
  @RequestMapping(value="/test",method=RequestMethod.GET)
  public String test(Model model,HttpServletRequest request) {
     model.addAttribute("key","test project");
     //生成靜態(tài)文件
     Map param=new HashMap();
     param.put("key", "我是被生成的靜態(tài)文件");
     createHtmlByMode("test.ftl","test.html",param);
    return "test";
    
  }

實(shí)現(xiàn)效果(我這里默認(rèn)保存到d:/testlogs):

JAVA如何實(shí)現(xiàn)集成Freemarker生成靜態(tài)html

JAVA如何實(shí)現(xiàn)集成Freemarker生成靜態(tài)html

Springmvc(和springboot大致相同,此處只留下配置)

1.引入Freemarker jar包

<dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>3.2.4.RELEASE</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.freemarker/freemarker -->
    <dependency>
      <groupId>org.freemarker</groupId>
      <artifactId>freemarker</artifactId>
      <version>2.3.25-incubating</version>
    </dependency>

2.springmvc配置

<!-- freemarker -->
  <bean id="freeMarkerConfigurer"
    class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
    <property name="templateLoaderPath" value="/freemarker/ftl/"></property>
    <property name="defaultEncoding" value="utf-8" />
    <property name="freemarkerSettings">
      <props>
        <prop key="template_update_delay">1</prop>
        <prop key="locale">zh_CN</prop>
        <prop key="datetime_format">yyyy-MM-dd</prop><!-- 時(shí)間格式化 -->
        <prop key="date_format">yyyy-MM-dd</prop>
        <prop key="number_format">#.##</prop>
      </props>
    </property>
  </bean>

  <bean id="freeMarkerViewResolver"
    class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
    <property name="cache" value="true" />
    <property name="prefix" value="" /><!-- 上面已經(jīng)配了,這里就不用配啦 -->
    <property name="suffix" value=".ftl" />
    <property name="contentType" value="text/html;charset=UTF-8" />
    <property name="allowSessionOverride" value="true" />
    <property name="allowRequestOverride" value="true" />
    <property name="exposeSpringMacroHelpers" value="true" />
    <property name="exposeRequestAttributes" value="true" />
    <property name="exposeSessionAttributes" value="true" />
    <property name="requestContextAttribute" value="request" />
  </bean>

3.調(diào)用方式

/**返回模板信息*/
 @SuppressWarnings("unchecked")
 @RequestMapping(value="/test",method={RequestMethod.GET})
 public ModelAndView test(HttpServletRequest request) {
   ModelAndView mv = new ModelAndView();
   //設(shè)置參數(shù)
   mv.addObject("key", "測(cè)試freemarker");
   //配置模板
   mv.setViewName("test");
   return mv;
 }

看完這篇關(guān)于JAVA如何實(shí)現(xiàn)集成Freemarker生成靜態(tài)html的文章,如果覺得文章內(nèi)容寫得不錯(cuò)的話,可以把它分享出去給更多人看到。

分享題目:JAVA如何實(shí)現(xiàn)集成Freemarker生成靜態(tài)html
網(wǎng)站鏈接:http://jinyejixie.com/article4/ggegie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、標(biāo)簽優(yōu)化、響應(yīng)式網(wǎng)站、域名注冊(cè)、網(wǎng)站營銷面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
泾川县| 客服| 延安市| 民勤县| 平原县| 乐陵市| 本溪| 龙泉市| 乌兰县| 榆树市| 万盛区| 六枝特区| 蒙阴县| 安阳县| 淅川县| 成都市| 安阳县| 铜鼓县| 镇赉县| 明星| 平罗县| 崇信县| 永新县| 巨野县| 上虞市| 唐山市| 沁水县| 神农架林区| 得荣县| 鹿泉市| 吉安县| 阿坝县| 明水县| 肇庆市| 图们市| 天水市| 安泽县| 临沭县| 怀化市| 沙坪坝区| 鲜城|