java - springmvc 用modelandview 重定向到一個requestmapping 并攜帶一個對象類型的參數 。
問題描述
請輸入代碼 ModelAndView mv = new ModelAndView('redirect:/add_shopping_cart_success.do');//這個是重定向到的請求// formcart是需要傳遞的對象參數 mv.addObject(formcart);return mv;} @RequestMapping('add_shopping_cart_success') public String add_shopping_cart_success(T_MALL_SHOPPINGCAR formcart, HttpSession session, ModelMap map) { // 用formcart 接不到
請輸入代碼 ModelAndView mv = new ModelAndView(
'redirect:/add_shopping_cart_success.do');//這個是重定向到的請求// 這樣傳的話下面能接到 就是會在瀏覽器顯示所有參數 mv.addObject('sku_mch',formcart.getSku_mch()); mv.addObject('sku_jg',formcart.getSku_jg()); mv.addObject('sku_tp',formcart.getShp_tp()); mv.addObject('tjshl',formcart.getTjshl()); mv.addObject('shp_id',formcart.getShp_id()); mv.addObject('sku_id',formcart.getSku_id());return mv;
}
@RequestMapping('add_shopping_cart_success')public String add_shopping_cart_success(T_MALL_SHOPPINGCAR formcart,HttpSession session, ModelMap map) {
問題解答
回答1:方式一:自己手動拼接url
new ModelAndView('redirect:/toList?param1='+value1+'¶m2='+value2);這樣有個弊端,就是傳中文可能會有亂碼問題。 方式二:用RedirectAttributes,這個是發現的一個比較好用的一個類這里用它的addAttribute方法,這個實際上重定向過去以后你看url,是它自動給你拼了你的url。使用方法: attr.addAttribute('param', value);return 'redirect:/namespace/toController';這樣在toController這個方法中就可以通過獲得參數的方式獲得這個參數,再傳遞到頁面。過去的url還是和方式一一樣的。
相關文章:
1. javascript - 如何將一個div始終固定在某個位置;無論屏幕和分辨率怎么變化;div位置始終不變2. html - vue項目中用到了elementUI問題3. javascript - 原生canvas中如何獲取到觸摸事件的canvas內坐標?4. javascript - vscode alt+shift+f 格式化js代碼,通不過eslint的代碼風格檢查怎么辦。。。5. javascript - 求解答:實例對象調用constructor,此時constructor內的this的指向?6. javascript - 有什么比較好的網頁版shell前端組件?7. java - 如何寫一個intellij-idea插件,實現編譯時修改源代碼的目的8. javascript - [js]為什么畫布里不出現圖片呢?在線等9. java 中Long 類型如何轉換成Double?10. html5 - 有可以一次性把所有 css外部樣式轉為html標簽內style=" "的方法嗎?
