2011-11-14 36 views
0

當我這樣做:爲什麼我無法從被調用的方法添加到模型中?

@RequestMapping(value = "/something", method = RequestMethod.POST) 
public String stuff(
    @ModelAttribute("xxx") ReviewAB7500Data xxx, 
    HttpServletRequest request, Model model) throws GeneralDAOException { 
    model.addAttribute("somekey",someValue); 
} 

一切正常,我可以看到在我的JSP我的對象。但是,當我改變它是這樣的:

private void someOtherMethod(Model model) { 
    model.addAttribute("somekey",someValue); 
    return; 
} 

@RequestMapping(value = "/something", method = RequestMethod.POST) 
public String stuff(
    @ModelAttribute("xxx") ReviewAB7500Data xxx, 
    HttpServletRequest request, Model model) throws GeneralDAOException { 
    someOtherMethod(model); 
    return viewName; 
} 

...名爲「somekey」的addtribute從不放在模型,或至少它不是我的JSP可見。任何提示在這裏?

+1

我相信這應該能正常運行。這可能聽起來像一個愚蠢的問題,但其他方法究竟是什麼樣子? – digitaljoel

+1

這不可能是正確的;必須有其他改變的東西,或者在展示給我們之前過分簡化了示例。 – skaffman

+0

我不得不同意上面的評論。簡化邏輯時你錯過了什麼嗎? – Scott

回答

0

我相信你需要一個額外的參數添加到方法:

@RequestMapping(value = "/something", method = RequestMethod.POST) 
public String stuff(@ModelAttribute("xxx") ReviewAB7500Data xxx, 
        BindingResult result, 
        HttpServletRequest request, 
        Model model) throws GeneralDAOException 
+0

BindingResult在那裏,仍然是同樣的問題。 – MTR

相關問題