最近在做ssm時,使用spring mvc提供的封裝引數的方法進行接收時,遇到了乙個問題:前台向後台傳送ajax請求並且攜帶很多引數,而後台並沒有對應的實體類進行接收處理。如果根據引數去建立對應的實體類,這樣就會讓後台變得臃腫,冗餘,之後就不多舉例了,下面**中的json物件可以是form表單中的引數值,也可以是自己定義的。所以選擇用map接收
//定義json物件
var json = ;
//jquery ajax請求
$.post("user/queryallbynamebyrole",
json,
function(data),
'json'
);
spring框架中有個乙個工具類:webutils。
裡面有乙個靜態方法:
mapparams = webutils.getparametersstartingwith(servletrequest request, string prefix);
這個方法可以將前台的引數以key-value的形式儲存為乙個map。
queryallbynamebyrole方法的引數可以是httpservletrequest ,可以是servletrequest,對j2ee熟悉的朋友都知道在 request中有乙個美好的方法叫做 request.getparametermap() 返回乙個map 型別當然這個 map 中
就 包括了頁面上傳進來的所有的引數。 但是, 這個request.getparametermap() 返回的 map 中還包括有其他的一些東西,
所以我們並不能直接迭代就得到我們全部需要的,因為還會得到我們不需要的,所以。當我們使用
webutils.getparametersstartingwith(request, "user_"); 這個方法之後,便可以根據頁面上傳的值來取。
總結就不總結了,希望可以幫助到大家,如果有錯誤,請各位海涵並指正。
後台SpringMVC接收map型別引數
背景 有時候我們可能需要發ajax到後台,並且攜帶一些引數,如果引數數量少,我們可以直接在後台寫引數便可,如果前台提交的是表單,我們可以利用spring mvc提供的封裝引數的方法進行接收,但假如是另外一種情況,前台向後台傳送ajax請求並且攜帶很多引數,而後台並沒有對應的實體類進行接收又該如何處理...
Spring MVC接收引數
1.和servletapi緊耦方法 使用原生 servletapi 使用原有的request物件進行獲取 只需要在方法內容宣告request形參即可,servlet在呼叫的時候會自動賦值。按照request的使用方式正常使用即可 springmvc引數優點 沒有引數,不賦值,正常執行 有引數,則給引...
後台接收引數
一 前台傳給的map引數中有乙個引數裡面是list集合,如何將它賦值給你新建立的物件中的對應屬性 集合中只有一列引數 新建乙個list接收該集合引數 list weeklist jsonarray.fromobject map.get students 通過get方法取出該集合 string bir...