2014-11-14 117 views
0

什麼即時試圖是一個簡單的布爾值寫入隱藏字段的JSP中的值寫入到從控制器:如何使用POST方法

控制器:

@RequestMapping(value = "/createResource", method = RequestMethod.POST) 
public String createCategory(@RequestParam("parentCategory") String parentCategory,      
          @ModelAttribute("SmartResources") Category category, ModelMap model, HttpSession session) 
{ 
    model.addAttribute("resourceProperties", CategoryPropertyService.getInstance().getAllPropertiesById(Integer.parseInt(parentCategory))); 

    model.addAttribute("test", Boolean.TRUE); 

    return "redirect:" + GlobalConstants.Dialog.DIALOG_BLANK; 
} 

JSP:

<input type="hidden" id="showPopUp" name="showPopUp" value="${test}" />  

當我讀與jQuery隱藏輸入其總是空值:

腳本:

var popUpControl = $("#showPopUp").val(); 
var modal = $.UIkit.modal("#newResource"); 
if (popUpControl == true) { 
    modal.show(); 
} 

當我做同樣的在同一個控制器的輸入域得到填補的GET方法。

請幫幫我。必須有一種方法來填寫post方法中的輸入字段。

回答

1

如果你想從模型的屬性跨越重定向堅持,你將不得不使用模型界面的專業化,RedirectAttributes

@RequestMapping(value = "/createResource", method = RequestMethod.POST) 
public String createCategory(@RequestParam("parentCategory") String parentCategory,      
          @ModelAttribute("SmartResources") Category category, ModelMap model, RedirectAttributes redirectAttrs, HttpSession session) 
{ 
    redirectAttrs.addFlashAttribute("resourceProperties", CategoryPropertyService.getInstance().getAllPropertiesById(Integer.parseInt(parentCategory))); 

    redirectAttrs.addFlashAttribute("test", Boolean.TRUE); 

    return "redirect:" + GlobalConstants.Dialog.DIALOG_BLANK; 
} 
+0

感謝這個嗨。現在我有antoher問題。我總是得到這個錯誤:客戶端發送的請求在語法上不正確()。 – 2014-11-14 12:58:11

+0

保留modelMap中的參數than,編輯答案 – 2014-11-14 13:13:10

+0

找到它。這是布爾值。用一個字符串替換它,語法是正確的。仍然js部分從「測試」屬性沒有價值 – 2014-11-14 13:41:31