Spring MVC前后端的數據傳輸

小說:北方適宜大面積種植的花卉有哪些?作者:安戲成公更新時間:2019-05-22字數:59122

王妙想見許飛瓊臉色金白,連忙掀開她的衣袖,見她那玉藕般的手臂上已溢出膿血,趕緊用劍破開皮肉,小心翼翼地將嵌入骨中的那枚太陽神針取出,又讓她服下隨身攜帶的仙汁。這太陽神針能破人玄功,傷人體魄,幸好許飛瓊已證仙體,又在中針之時立即用真氣逼住,否則它早已逆經脈而上,直接攻入心臟。

月季花苗選擇哪家購買?

“她比我大三歲,大學畢業也就兩年,兩年前她大學畢業進入我爸的公司,然后成了我爸的秘書,一年之后我爸便娶了她?!币脸康恼Z氣里頗為不痛快。
“好了。都別鬧了。雖然這場比賽的對手不強。但我們還是不能大意。獅子搏兔還需要全力以赴呢。萬一我們也遇到哪支隱藏實力的隊伍,也很可能陰溝里翻船?!?/p>

真不愧是不能用常理來衡量的玄陰殺葵星黑煞,畢竟玄陰殺葵星的修煉之路是無法進行恒定的,受到什么樣的培養,走不同的路,她就有不同的修煉方法,但是不管是那一種,玄陰殺葵星只要修煉的話都會極為變態,現在的紅衣更是超級恐怖之中的恐怖。

Spring MVC前后端的數據傳輸


本篇文章主要介紹了Spring MVC中如何在前后端傳輸數據。

后端 ? 前端

在Spring MVC中這主要通過Model將數據從后端傳送到前端,一般的寫法為:

@RequestMapping(value = "/index", method = RequestMethod.POST)
public String index(Model model){
    String greeting = "Hello !"
    model.addAttribute("greetingStr", greeting);
    return "index";
}

首先需要定義一個Model,然后為Model添加屬性,并綁定數據,最后將Model添加到視圖。在實際開發時也可以不按照上述步驟。

不指定視圖名

視圖解析器會根據請求路徑/index推斷視圖名,去掉/仍然可以得到正確的視圖名index。此時的寫法為:

@RequestMapping(value = "/index", method = RequestMethod.POST)
public String index(Model model){
    String greeting = "Hello !"
    return greeting;
}

不使用Model

因為Model本身就繼承自LinkedHashMap類(Model本身只是一個接口類,確切的說是實例化的model所屬的類繼承自LinkedHashMap),因此可以將數據存儲在Map中再傳送到前端。此時的寫法為:

@RequestMapping(value = "/index", method = RequestMethod.POST)
public String index(Map map){
    String greeting = "Hello !"
    map.put("greetingStr", greeting);
    return "index";
}

不指定模型屬性

當不指定Model中填充數據的key時,Spring MVC會根據值類型推斷,返回key的替代名。此時的寫法為:

@RequestMapping(value = "/index", method = RequestMethod.POST)
public String index(Model model){
    String greeting = "Hello !"
    model.addAttribute(greeting);
    return "index";
}
//此時的"greeting"的key會被設置為"String",等價于map.put("String", greeting);

以上方式的結果都是一致的,均會在model中會存儲一個和key對應的數據,然后將model傳送到到視圖中,視圖可以根據key直接獲取到對應的數據。

前端 ? 后端

在Spring MVC中支持多種方式將數據從前端傳送到后端。

查詢參數

本質上是通過HTTP發起的一個帶有參數的RPC請求,請求的形式為"/aa?name=deyken",后端處理形式為:

@RequestMapping(value = "/aa", method = RequestMethod.POST)
public String func(Model model, @RequestParam("name") String name) {
    ...
}

路徑變量

直接請求資源,請求的形式為"/aa/deyken",后端處理的形式為:

@RequestMapping(value = "/aa/{name}", method = RequestMethod.POST)
public String func(Model model, @PathVariable("name") String name) {
    ...
}

實際使用中推薦第二種方式。

表單

在Spring MVC中同樣支持表單數據的前端到后臺傳輸。以用戶登錄為例,表單形式為:

<form action="/login" method="post">
    name:<input type="text" name="name"/>
    password:<input type="text" name="password"/>
    <input type="submit"/>
</form>

后端只需在方法參數列表里接收傳送過來的變量,而無需再指定查詢參數或路徑變量:

@RequestMapping(value = "/login", method = RequestMethod.POST)
public String add(Model model, String name, String password){
    ...
}

如果已經定義過用戶User類:

public User {
    String name;
    String password;
    ...Setter()
    ...Getter()
}

那么Spring MVC會將表單傳送過來的數據自動封裝為一個User對象,此時后端方法可以這么寫:

@RequestMapping(value = "/login", method = RequestMethod.POST)
public String add(Model model, User user){
    ...
}

后記

以上僅描述了在Spring MVC中幾種前后端數據交互的方式,但在實際項目中為了使前后端開發分離,一般不適用上述方式,下篇文章我將介紹使用ajax從前端讀取后端數據的具體方法。

當前文章:http://www.hfcxdn.com/array/m0dv4219j7.html

發布時間:2019-05-22 04:07:40

銀杏樹苗圃大量供應5-20公分銀杏樹苗 河北省銀杏樹價格便宜嗎? 果嶺草草坪種子怎么種最好? 誰在樓頂種過佛甲草? 護坡種草之前應該做什么? 玉簪草籽哪里有? 紫花地丁草籽多少錢一公斤? 冬季能種植滿天星嗎?

遼寧可以種植法國冬青嗎? 苗木人必知的紅葉李批發基地! 櫸樹價格 2013年大櫸樹最新價格 【免費】最新最全的金邊黃楊種植技術栽培養護技術匯總 加拿利海棗的種子哪里能買到? 哪里有沙打旺種子供應商? 江蘇適合種植苦楝樹嗎? 棗樹種子能發芽嗎? 油松種子可以種植嗎?

編輯:侯徒

我要說兩句: (0人參與)

發布
捕鱼达人之深海狩猎