Spring MVC3在controller和檢視之間傳遞引數的方法:
一, 從controller往檢視傳遞值,controller—->檢視
1)簡單型別,如int, String,直接寫在controller方法的引數裡,是無法傳遞到檢視頁面上的(經測試)
2)可以用Map,其鍵值可以在頁面上用EL表示式${鍵值名}得到,
3)也可以用Model類物件來傳遞,有addAttribute(key, value)方法,其鍵值可以在頁面上用EL表示式${鍵值名}得到,
如果用addAttribute(value)這個方法,會將型別名的首字母改成小寫後,作為鍵值名傳遞過去,
@RequestMapping(value="/say") public String say(@RequestParam int id,Model model) { System.out.println("say"); //用hello取值 model.addAttribute("hello", "value"); //使用Object的型別作為key,String-->string,用string取值 model.addAttribute("ok"); return "hello"; }
二,從檢視向controller傳遞值, controller <— 檢視
1)簡單型別,如int, String, 應在變數名前加@RequestParam註解,可能放在路徑裡…/user?x=name
例如:
@RequestMapping("hello3")
public String hello3( @RequestParam("name" ) String name,
@RequestParam("hobby" ) String hobby){
System. out .println("name=" +name);
System. out.println("hobby=" +hobby);
return "hello" ;
}
但這樣就要求輸入裡面必須有這兩個引數了,可以用required=false來取消,例如:
@RequestParam(value=”name”,required=false) String name
但經測試也可以完全不寫這些註解,即方法的引數寫String name,效果與上面相同。還可以直接在路徑中的值傳過來,/user/11,用@PathVariable(“userId”)獲得,用如下:
@RequestMapping(path = {"/user/{userId}"},method = {RequestMethod.GET})
public String redirect(@PathVariable("userId") String userId,Model model) {
model.addAttribute("vos",getQuestions(Integer.parseInt(userId),0,10));
return "index";
}
2)物件型別:
@RequestMapping("/hello4" )
public String hello4(User user){
System.out.println("user.getName()=" +user.getName());
System.out.println("user.getHobby()=" +user.getHobby());
return "hello";
}
Spring MVC會按:
“HTTP請求引數名= 命令/表單物件的屬性名”
的規則自動繫結請求資料,支援“級聯屬性名”,自動進行基本型別資料轉換。
即有一個User類,如下
package model;
public class User {
private String name ;
private String hobby ;
public User(){
}
public User(String name, String hobby) {
this.name = name;
this.hobby = hobby;
}
//
…get/set方法略
則頁面上可以用
<form name="form1" action="hello4" method="post">
<input type="text" name="name"/>
<input type="text" name="hobby"/>
.
..
提交後,把值直接繫結到user物件上。
相關推薦
[SSM]Spring MVC3在controller和檢視之間傳遞引數的方法
Spring MVC3在controller和檢視之間傳遞引數的方法: 一, 從controller往檢視傳遞值, controller—->檢視 1)簡單型別,如int, String,直接寫在controller方法的引數裡,是無法傳遞到檢視頁面上
Spring MVC3在controller和檢視之間傳遞引數的方法:
一, 從controller往檢視傳遞值,controller—->檢視 1)簡單型別,如int, String,直接寫在controller方法的引數裡,是無法傳遞到檢視頁面上的(經測試) 2)可以用Map,其鍵值可以在頁面上用EL表示式${鍵值名}
spring mvc 前臺向後臺傳遞引數方法總結
1.restful 前臺程式碼 var userName = "test"; var userMobile = "gz"; $.ajax({ url:"user/modify/"+username+"/"+userMobile
一種比較好的JNI Java和C++相互傳遞引數和返回值的方法
序言 以前在Android上做移動多媒體開發的時候,有很多需要在Java和C++相互傳遞引數的Case,以前因為時間卡的緊,一直沒有去修復這一類的問題,因為能用,沒有出什麼問題,也就沒有想什麼優化方案。最近自己有一些閒暇時間折騰點小玩意兒,也需要從Java和C++之間相互傳遞引數。想
Ajax中Put和Delete請求傳遞引數無效的解決方法(Restful風格
在使用Ajax實現Restful的時候,有時候會出現無法Put、Delete請求引數無法傳遞到程式中的尷尬情況,此時我們可以有兩種解決方案:1、使用地址重寫的方法傳遞引數。2、配置web.xml專案環境。 測試的程式為: @RequestMapping(value =
Ajax中Put和Delete請求傳遞引數無效的解決方法(Restful風格)
開發環境:Tomcat9.0 在使用Ajax實現Restful的時候,有時候會出現無法Put、Delete請求引數無法傳遞到程式中的尷尬情況,此時我們可以有兩種解決方案:1、使用地址重寫的方法傳遞引數。2、配置web.xml專案環境。 測試的程式為:
C程式設計--結構體(結構體和函式之間的引數使用)
結構體型別(掌握點): 建立結構體型別 定義結構體型別變數 初始化結構體和引用結構體變數(3種方法,見下) 使用結構體陣列 結構體指標(重要) 指向結構體變數的指標 指向結構體陣列的指標 程式碼案例
TP layui 彈層開啟網址 live/play/id/166/bid/184/cid/22/ccid/191.html傳遞引數方法
<script> //注意:摺疊面板 依賴 element 模組,否則無法進行功能性操作 layui.use(['layer', 'form','element','laydate','jquery'], function(){ var ele
物件字面量傳遞引數方法
函式引數的2種傳遞方式:命名引數、物件字面量方式 函式傳遞引數,在有多個可選引數的情況下傳統的命名引數顯的比較死板,不夠靈活。 最好的做法是對那些必需值使用命名引數,而使用物件字面量來封裝多個可選引數! ......
java流InputStream和String之間的轉換方法
本文轉自 https://blog.csdn.net/lmy86263/article/details/60479350 在Java中InputStream和String之間的轉化十分普遍,本文主要是總結一下轉換的各種方法,包括JDK原生提供的,還有一些外部依賴提供的。 1、Inp
《android studio3》在多個activity之間傳遞引數
z.B:啟動一個特定的Activity Intent intent=new Intent(CurrentActivity.this,OtherActivity.class); startActivity(intent); 如果想要傳遞Pra的話,就是i.put...在自動跳出的備選中選擇,有很多型別
Android:Activity之間傳遞引數並跳轉
當前頁面傳出引數: public void First(View v){ //新建一個顯式意圖,第一個引數為當前Activity類物件,第二個引數為你要開啟的Activity類 Intent intent =new Intent(FirstActivity
微信小程式頁面之間傳遞引數的幾種方式
小程式開發過程中,不可避免要遇到不同頁面之間資料通訊的問題,如判斷是否登入等,現做出以下分類總結 一、使用全域性變數實現資料傳遞 使用場景: 購物車介面需要根據是否登入來區別顯示,當沒有登入時提醒去登入,登入後之間顯示自己購物車裡的商品列表
Activity之間傳遞引數(一)
-------siwuxie095 傳遞簡單資料 (1)首先建立一個專案:SendArgs (2)選擇API:21 Android 5.0 (3)選擇Empty Activity
解決Ajax中Restful風格PUT和DELETE請求傳遞引數無效
問題:在Ajax中,採用Restful風格PUT和DELETE請求傳遞引數無效,傳遞到後臺的引數值為null原因: * Tomcat * 1.將請求體中的資料,封裝成一個map * 2.request.getParameter("id"
前端頁面之間傳遞引數
這裡有假如傳遞一個引數,在另一個頁面接收時,只需要js中寫入如下程式碼: localhost:8080/index.jsp?id=1 function showWindowHref() { var sHref = window.location.hr
JNI中jstring 和char* 之間的轉換方法
在java中由於是unicode編碼,無論是英文字母還是漢字每個字元都是佔用2個位元組。但是在jni中的字元時utf-8編碼,每個字元不是等長的。所以在java和jni呼叫的時候要注意這個問題。 下面是我在網上找到的一些把jstring和char*轉換的一些sampl
Spring AOP 和 AspectJ 之間的差別
面向方面的程式設計(AOP) 是一種程式設計正規化,旨在通過允許橫切關注點的分離,提高模組化。AOP提供方面來將跨越物件關注點模組化。雖然現在可以獲得許多AOP框架,但在這裡我們要區分的只有兩個流行的框架:Spring AOP和AspectJ。這裡將會幫助你基於一些關鍵資訊
【Asp.Net MVC】Controller和View之間傳遞資料
在MVC中,Controller和View之間是如何傳遞資料的呢? 一、Controller向View傳遞資料 1、ViewBag Controller public ViewResult TransData() { ViewBag
php中頁面之間傳遞變數方法總結
在實際的網站開發當中,我們經常會遇到在一個頁面定義的變數,在另外一個頁面也要使用,這就需要我們在頁面之間傳遞變數.下面介紹一些常用的方法: 一、用form表單中的hidden隱藏域。這種方法就是把待傳遞的變數用表單的方式再次傳送,比如在使用者登陸後,