2017-12-05 13 views
1

私はSpring MVC Webアプリケーションを使用しています:サーブレット+ JSP +休止状態。これは私のCustomerController.javaサーブレットコントローラ - パラメータ付きリダイレクト

@RequestMapping(value="/CustomerList", method = RequestMethod.GET) 
public ModelAndView customerList() { 
    ModelAndView model = new ModelAndView(); 
    model.setViewName("Customer.List"); // for Tiles View 
    model.addObject("listCustomer", DAO_Customer.getListCustomer()); 
    return model; 
} 

@RequestMapping(value="/Customer/{id}/Delete", method = RequestMethod.GET) 
public String deleteCustomer(@PathVariable("id") int id, Model model) { 
    boolean isSuccess = DAO_Customer.deleteCustomer(id); 
    if (!isSuccess) { 
     model.addAttribute("error", "Failed"); 
    } 
    model.addAttribute("success", "Successed"); 

    return "redirect:/CustomerList"; 
} 

から一部であり、ここでは、ディスプレイにCustomerList.jspファイル内のコードです:

... 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<c:if test="${not empty error}"> 
    <p>${error}</p> 
</c:if> 
<c:if test="${not empty success}"> 
    <p>${success}</p> 
</c:if> 
... 

私は/CustomerListにリダイレクトしたいとパラメータに+ successerrorが含まれます。
問題が発生すると、/CustomerList?success=Successedが返され、デフォルトの顧客リストが表示されることはありません。

私はたくさんの検索をしていますが、本当にわからないことはありますか?みんな読んで助けてくれてありがとう。

答えて

0

RedirectAttributes#addAttributeを試すことができます。

@RequestMapping(value="/Customer/{id}/Delete", method = RequestMethod.GET) 
public String deleteCustomer(@PathVariable("id") int id, RedirectAttributes redirectAttributes) { 
    boolean isSuccess = DAO_Customer.deleteCustomer(id); 
    if (!isSuccess) { 
    redirectAttributes.addAttribute("error", "Failed"); 
    } else{ //also required 
    redirectAttributes.addAttribute("success", "Successed"); 
    } 
    return "redirect:/CustomerList"; 
} 

この場合、成功すると、URLは/CustomerList?success=Successedになります。

そして、次のようにあなたがELでのparam値にアクセスすることができます。

${param.success} or ${param.error} 

また、あなたはRedirectAttributes#addFlashAttributeを使用することができます。

redirectAttributes.addFlashAttribute("success", "Successed"); 

次に、あなたは${success}${error}として直接アクセスすることができます。

+0

恐ろしい!それは私と完璧に働いた!ありがとうございます<3 – huudunghcmus

関連する問題