整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          SpringBoot根據動態內容生成靜態html


          pring Boot中,你可能想要基于動態內容生成靜態HTML頁面。有幾種方法可以實現這一目標,以下是其中的一些方法:

          使用模板引擎:
          你可以使用模板引擎(如Thymeleaf、Freemarker或Velocity)來動態渲染HTML內容,并將結果保存為靜態文件。例如,你可以創建一個服務,該服務使用模板引擎渲染模板,并將結果寫入文件。

          下面是一個使用Thymeleaf的簡單示例:

          @Service  
          public class StaticHtmlGeneratorService {  
          
              @Autowired  
              private TemplateEngine templateEngine;  
          
              @Autowired  
              private ApplicationContext applicationContext;  
          
              public void generateStaticHtml(String templateName, Map<String, Object> context, String outputPath) {  
                  Context thContext = new Context();  
                  thContext.setVariables(context);  
          
                  String processedHtml = templateEngine.process(templateName, thContext);  
          
                  try (BufferedWriter writer = new BufferedWriter(new FileWriter(outputPath))) {  
                      writer.write(processedHtml);  
                  } catch (IOException e) {  
                      // Handle exception  
                  }  
              }  
          }

          這段代碼不是完整的實現,因為TemplateEngine類并不是Spring Boot標準庫中的一部分。在實際應用中,你會使用具體的模板引擎的API(例如Thymeleaf的TemplateEngine),并相應地調整代碼。

          實際上,Spring Boot集成Thymeleaf后,你會這樣使用Thymeleaf的API:

          @Autowired  
          private SpringTemplateEngine templateEngine;  
          
          public void generateStaticHtml(String templateName, Map<String, Object> contextVars, String outputPath) {  
              Context context = new Context();  
              context.setVariables(contextVars);  
          
              String processedHtml = templateEngine.process(templateName, context);  
          
              // Write the processedHtml to a file  
              // ...  
          }

          使用WebView庫(如Jsoup):
          如果你想在沒有模板引擎的情況下生成HTML,可以使用像Jsoup這樣的庫來構建HTML文檔,然后保存為文件。

          public void generateStaticHtmlWithJsoup(String title, String bodyContent, String outputPath) throws IOException {  
              Document doc = Jsoup.parse("<html><head><title></title></head><body></body></html>");  
              doc.title(title);  
              doc.body().append(bodyContent);  
          
              // 美化輸出(Pretty-print)  
              doc.outputSettings().prettyPrint(true);  
          
              // 寫入文件  
              Files.write(Paths.get(outputPath), doc.outerHtml().getBytes(StandardCharsets.UTF_8));  
          }

          使用RestTemplate或WebClient:
          如果你的靜態HTML內容來自另一個Web服務,你可以使用RestTemplate或WebClient來獲取動態內容,然后將其保存為靜態文件。

          @Autowired  
          private RestTemplate restTemplate;  
          
          public void generateStaticHtmlFromWebService(String url, String outputPath) throws IOException {  
              ResponseEntity<String> response = restTemplate.getForEntity(url, String.class);  
          
              if (response.getStatusCode() == HttpStatus.OK) {  
                  Files.write(Paths.get(outputPath), response.getBody().getBytes(StandardCharsets.UTF_8));  
              }  
          }

          在生成靜態HTML時,請考慮以下幾點:

          • 確保你有適當的權限來寫入文件系統。
          • 小心處理用戶提供的輸入,以避免安全風險,如跨站腳本(XSS)攻擊。
          • 考慮生成的靜態文件如何與你的應用程序的其他部分(如靜態資源處理程序)集成。
          • 監控文件系統的使用情況,以避免耗盡磁盤空間。
          • 考慮生成的靜態內容的緩存和過期策略。

          要源碼請評論后加前端學習群470593776

          課題:HTML5加原生js打造一個炫酷動態的太陽系

          簡介:首先對于太陽系各大星球的運轉關系,速度等資料,不然弄出來也是被噴的下場,

          還有對于邏輯思維,算法的一些掌握要牢固

          特別是對于HTML5+js配合使用的方式,其實現在很多特效都是HTML5+JS的配合使用

          純html5動畫固然有優勢,但是實用性暫時還不太高,特別是對于兼容性的一些處理

          下面我們來看看部分代碼

          PS:因為代碼不方便閱讀以及復制,所以只發部分源碼思路

          完整的免費源碼及思路講解,請評論后加前端學習交流群470593776獲取!

          代碼:

          需要源碼請評論后加前端學習群470593776

          <script src="https://lf6-cdn-tos.bytescm.com/obj/cdn-static-resource/tt_player/tt.player.js?v=20160723"></script>

          一、數據源

          數據源格式如下圖,每一行為各地的GDP及三產業數據,A列作為輔助區域(由C列和B列合并而成)。

          二、制作選擇器

          地區作為篩選字段。

          1、插入數據透視表

          選擇數據源A:G列,插入數據透視表到新工作表的P1單元格。將[地區]字段拖拽到[行區域]。再隱藏數據透視表的字段標題禁用行和列的總計

          2、設置選擇器

          在菜單欄[開發工具][插入]命令中選擇[列表框]控件,在單元格L8畫出一個列表框

          用鼠標右鍵單擊列表框,在彈出的快捷菜單單擊[設置控件格式(F)],進入[設置對象格式]對話框,將[數據源區域]設置為數據透視表所在的區域P1:P32,將[單元格鏈接]設置為存放選擇結果的單元格N2,單擊[確定]按鈕。

          三、數據輔助區域

          1、年份

          第一行為年份,在K1單元格輸入最近的年份后,其他左側單元格自動依次遞減。

          J1單元格輸入公式:=K1-1。并將公式復制到B1:I1區域。

          2、地區(省份)

          根據選擇結果(N2單元格),將地區引用到A1單元格。則在A1單元格輸入公式:=INDEX(P1:P32,N2)。

          3、按條件提取數據

          B2單元格輸入公式:=VLOOKUP(B&$A1,各省GDP!$A:$D,4,0),并將公式復制到C2:K2數據區域。將選定區域對應年份的數據提取到輔助區域。

          在A4單元格分別輸入第三產業。在其右側單元格輸入公式。

          B4單元格輸入公式:=VLOOKUP(B&$A,各省GDP!$A:$G,7,0)

          再將B4:B4數據區域的公式復制到C4:K4,將選定區域對應年份第三產業數據提取到輔助區域。

          在B3單元格輸入公式:=B4/B2,并將公式復制到C3:K3,計算出第三產業占比

          四、制作圖表

          1、插入折線圖(按年趨勢圖)

          選中A2:K3數據區域,插入[帶數據標記的折線圖][水平(分類)軸標簽]選擇B1:K1數據區域。

          將系列[GDP]設置為[次坐標軸]

          2、設置圖表格式:

          ①圖表名稱=A1單元格;

          ②主坐標軸最小值設置為0,最大值設置為1;

          ③圖例靠上顯示,與圖表重疊

          五、導出圖表(VBA)

          通過VBA編寫代碼循環改變區域,實現對數據的動態引用,并將圖表導出到文件夾。

          1、參數區域

          N7單元格作為參數區域,通過更改參數,可以設置圖表導出的文件夾。

          2、VBA代碼

          新建export_chart4模塊,鍵入以下代碼。

          3、制作按鈕

          在菜單欄[開發工具][插入]命令中選擇[按鈕]控件,在N11單元格插入一個按鈕,命名為[導出圖表],并指定宏為export_chart4

          4、導出圖表

          點擊[導出圖表]按鈕將圖表導出的文件夾。

          六、Web頁面(html)

          1、html代碼

          在存放圖片文件夾的上一級文件夾中新建show.html文檔,用編程軟件(比如Visual Studio Code)打開,鍵入以下代碼。

          2、本地網頁演示

          在show.html文檔所在文件夾,直接打開網頁。

          3、手機網頁演示

          如果電腦裝了網絡服務器,可以在同一局域網的電腦或手機中,打開瀏覽器輸入網址打開網頁,就能看到動態圖表滾動顯示。


          主站蜘蛛池模板: 国产激情无码一区二区app| 性色av一区二区三区夜夜嗨| 久久精品国产第一区二区三区| 成人影片一区免费观看| 韩国理伦片一区二区三区在线播放| 一区二区不卡视频在线观看| 国产美女在线一区二区三区| 精品深夜AV无码一区二区| 国产高清视频一区二区| 成人区人妻精品一区二区不卡| 色妞AV永久一区二区国产AV| 亚洲AV日韩精品一区二区三区| 亚洲精品日韩一区二区小说| 99在线精品一区二区三区| 日本不卡一区二区视频a| 麻豆天美国产一区在线播放| 精品无码国产AV一区二区三区| 日韩在线一区二区三区免费视频| 国产伦理一区二区| 九九无码人妻一区二区三区| 狠狠色婷婷久久一区二区三区 | 无码人妻精品一区二区| 久久久人妻精品无码一区| 日韩国产一区二区| 无码少妇一区二区性色AV| 国产精品一级香蕉一区| 亚洲熟妇无码一区二区三区导航 | 日韩精品无码免费一区二区三区 | 午夜无码视频一区二区三区| 成人一区专区在线观看| 免费萌白酱国产一区二区| 久久中文字幕一区二区| 亚洲国产欧美日韩精品一区二区三区| 97se色综合一区二区二区| 亚洲乱色熟女一区二区三区丝袜| 亚洲无码一区二区三区| 久久精品一区二区三区不卡| 欲色aV无码一区二区人妻| 国产伦精品一区二区三区不卡| 欧美日韩精品一区二区在线视频 | 日韩中文字幕精品免费一区|