2015-02-07 65 views
0

使用redirectAttributes.addFlashAttribute(「object」,objectvalue);如何通過重寫url將模型屬性對象值傳遞給另一個控制器

像這樣,它成功地將對象值重定向到下一個控制器,但是當我們在下一個控制器中返回視圖時,它將結果顯示在瀏覽器的html頁面中。然後,當我們刷新或重新加載頁面時,問題開始,然後值消失。

我的代碼是

@RequestMapping(value = "/addRoom", method = RequestMethod.POST) 
public String saveRoom(Room room, 
     ModelMap model, RedirectAttributes ra) { 
    amenitiesService.saveRoom(room); 
    Floor floor = amenitiesService.getFloorInfo(room.getFloorId()); 
    String floorName = floor.getFloorName(); 
    ra.addFlashAttribute(room); 
    ra.addFlashAttribute("floorName", floorName); 
    ra.addFlashAttribute("message","Room information is saved successfully."); 
    return "redirect:/redirectedUrl"; 
} 

@RequestMapping(value = "/redirectedUrl") 
public String redirecturl(Room room, ModelMap model) { 
return ADMIN_VIEW + SAVE_ROOM; 
} 

請任何一個建議我如何將對象的值到下一個控制器永久性不是暫時的可見像Flash重定向屬性

回答

0

利用這一點,可能是工作

@RequestMapping(value = "/redirectedUrl") 
public String redirecturl(Room room, ModelMap model, RedirectAttributes re) { 
String name=(String)re.getFlashAttributes("floorName"); 
return ADMIN_VIEW + SAVE_ROOM; 
} 
+0

在公共字符串redirecturl(Room room,ModelMap模型)中使用RedirectAttributes時mehod也可以正常工作。在刷新瀏覽器時,重定向視圖後,值將變爲空,即通過使用RedirectAttributes成爲主要問題。 – 2015-02-09 04:58:44

相關問題