一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - spring boot thymeleaf 圖片上傳web項目根目錄操作步驟

spring boot thymeleaf 圖片上傳web項目根目錄操作步驟

2021-04-16 11:48fengcai0123 Java教程

這篇文章主要介紹了spring boot thymeleaf 圖片上傳web項目根目錄步驟,本文給大家提到了thymeleaf的基礎知識,需要的朋友可以參考下

thymeleaf介紹

簡單說, Thymeleaf 是一個跟 Velocity、FreeMarker 類似的模板引擎,它可以完全替代 JSP 。相較與其他的模板引擎,它有如下三個極吸引人的特點:

1.Thymeleaf 在有網絡和無網絡的環境下皆可運行,即它可以讓美工在瀏覽器查看頁面的靜態效果,也可以讓程序員在服務器查看帶數據的動態頁面效果。這是由于它支持 html 原型,然后在 html 標簽里增加額外的屬性來達到模板+數據的展示方式。瀏覽器解釋 html 時會忽略未定義的標簽屬性,所以 thymeleaf 的模板可以靜態地運行;當有數據返回到頁面時,Thymeleaf 標簽會動態地替換掉靜態內容,使頁面動態顯示。

2.Thymeleaf 開箱即用的特性。它提供標準和spring標準兩種方言,可以直接套用模板實現JSTL、 OGNL表達式效果,避免每天套模板、該jstl、改標簽的困擾。同時開發人員也可以擴展和創建自定義的方言。

3.Thymeleaf 提供spring標準方言和一個與 SpringMVC 完美集成的可選模塊,可以快速的實現表單綁定、屬性編輯器、國際化等功能。

form方式上傳:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
//html:
<form enctype="multipart/form-data" method="post" action="/sell/imageUpload">
<div class="modal-header">
 <button type="button" class="close" data-dismiss="modal" aria-hidden="true"> </button>
 <h4 class="modal-title" id="myModalLabel">Edit goods information</h4>
</div>
<div class="modal-body">
 <div class="input-group">
  <label class="col-lg-4">name:</label>
  <input class="col-lg-8" id="edit_name" value="${goods.name}" name="name"/>
 </div>
<div class="input-group">
  <label class="col-lg-4">code:</label>
  <input class="col-lg-8" id="edit_sn" name="sn" value="${goods.sn}" />
 </div>
<div class="input-group">
  <label class="col-lg-4">weight:</label>
  <input class="col-lg-8" id="edit_weight" name="weight" value="${goods.weight}" />
 </div>
<div class="input-group">
  <label class="col-lg-4">marketPrice:</label>
  <input class="col-lg-8" id="edit_marketPrice" name="marketPrice" value="${goods.marketPrice}" />
 </div>
<div class="input-group">
  <label class="col-lg-4">shopPrice:</label>
  <input class="col-lg-8" id="edit_shopPrice" name="shopPrice" value="${goods.shopPrice}" />
 </div>
<div class="input-group">
  <label class="col-lg-4">unit:</label>
  <input class="col-lg-8" id="edit_unit" name="unit" value="${goods.unit}" />
 </div>
<div class="input-group">
  <label class="col-lg-4">number:</label>
  <input class="col-lg-8" id="edit_number" name="number" value="${goods.number}" />
 </div>
 <div class="input-group">
  <label class="col-lg-4">detail:</label>
  <textarea class="col-lg-8" id="edit_detail" name="detail" value="${goods.detail}" />
 </div>
<div class="input-group">
 <!--<form enctype="multipart/form-data" method="post" action="/sell/imageUpload">
  <input ype="hidden" id="edit_goods_sn" name="sn" value="${goods.sn}" />-->
  image<input type="file" id="edit_image" name="file"/>
  <input type="submit" value="upload"/>
 <!--</form>-->
 </div>
</div>
<div class="modal-footer">
 <button type="button" class="btn btn-default" data-dismiss="modal">close</button>
 <input type="submit" class="btn btn-primary" id="edit_save" value="submit">提交更改</input>
</div>
</form>
//controller
 @RequestMapping(value = "/save",method = RequestMethod.POST)
 public String saveGoodsPage(@RequestParam(value = "id",required=false) String id,@RequestParam(value = "name",required=false) String name,@RequestParam(value = "sn",required=false) String sn,
        @RequestParam(value = "number",required=false) String number,@RequestParam(value = "weight",required=false) String weight,
        @RequestParam(value = "marketPrice",required=false) String marketPrice,@RequestParam(value = "shopPrice",required=false) String shopPrice,
        @RequestParam(value = "unit",required=false) String unit, @RequestParam(value = "detail",required=false) String detail,@RequestParam (value="file")MultipartFile file ) {
 if (!file.isEmpty()) {
  try {
   BufferedOutputStream out = new BufferedOutputStream(
     new FileOutputStream(new File("src/main/resources/static/images/product/" + sn + ".jpg")));//保存圖片到目錄下
   out.write(file.getBytes());
   out.flush();
   out.close();
   String filename = "\\/images\\/product\\/" + sn + ".jpg";
   /*user.setTupian(filename);
   //userRepository.save(user);//增加用戶*/
  } catch (FileNotFoundException e) {
   e.printStackTrace();
   return "upload error," + e.getMessage();
  } catch (IOException e) {
   e.printStackTrace();
   return "upload error" + e.getMessage();
  }
 }
  //...其他操作
 }

補充:變量表達式和星號表達有什么區別嗎?

如果不考慮上下文的情況下,兩者沒有區別;星號語法評估在選定對象上表達,而不是整個上下文什么是選定對象?就是父標簽的值,如下:

?
1
2
3
4
5
<div th:object="${session.user}">
<p>Name: <span th:text="*{firstName}">Sebastian</span>.</p>
<p>Surname: <span th:text="*{lastName}">Pepper</span>.</p>
<p>Nationality: <span th:text="*{nationality}">Saturn</span>.</p>
</div>

這是完全等價于:

?
1
2
3
4
5
<div th:object="${session.user}">
 <p>Name: <span th:text="${session.user.firstName}">Sebastian</span>.</p>
 <p>Surname: <span th:text="${session.user.lastName}">Pepper</span>.</p>
 <p>Nationality: <span th:text="${session.user.nationality}">Saturn</span>.</p>
</div>

當然,美元符號和星號語法可以混合使用:

?
1
2
3
4
5
<div th:object="${session.user}">
 <p>Name: <span th:text="*{firstName}">Sebastian</span>.</p>
 <p>Surname: <span th:text="${session.user.lastName}">Pepper</span>.</p>
 <p>Nationality: <span th:text="*{nationality}">Saturn</span>.</p>
</div>

總結

以上所述是小編給大家介紹的spring boot thymeleaf 圖片上傳web項目根目錄操作步驟,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:https://blog.csdn.net/fengcai0123/article/details/79693562

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 好男人资源大全免费观看 | 久久免费观看视频 | 欧美视频在线一区二区三区 | 爱福利一区二区 | 国产欧美亚洲精品第一页青草 | 免费理伦片高清在线 | 国产亚洲人成网站天堂岛 | 久久91精品国产91久久户 | 99视频都是精品热在线播放 | 四虎 2022 永久网站 | 国产精品igao视频网网址 | 欧美视频一区二区三区四区 | 91视在线国内在线播放酒店 | 91久久精品青青草原伊人 | 激情婷婷成人亚洲综合 | 免费精品国产 | 桃乃木香奈ipx在线播放 | 国产一区二区在线观看美女 | 国产精品视频免费视频 | 色综合欧美色综合七久久 | 国产精品边做边接电话在线观看 | 黑人粗又长 | 九九爱这里只有精品 | 性做久久久久久久久老女人 | 我和寂寞孕妇的性事 | 门房秦大爷小说 | 91yellow吧字幕网zmff7 | 欧美色阁 | 欧美成年黄网站色高清视频 | 好爽视频 | 久久精品WWW人人爽人人 | www91在线观看| 精灵之森高清在线 | av中文字幕网免费观看 | 精品国产乱码久久久久久免费流畅 | 国产成人激情视频 | 啪哆哆| 91影视永久福利免费观看 | 四虎在线观看 | 果冻传媒在线完整免费观 | 不卡一区二区三区 |