2014-02-07 34 views
0

我需要輸入這樣的網址http://localhost:8080/first,之後我的控制器必須去http://localhost:8080/second等等,直到我來到http://localhost:8080/end。它像遞歸一樣。最後,我需要列出一個列表。如何建立級聯控制器?

@Controller 
@RequestMapping(value = "/", method = RequestMethod.GET) 
public class CascadeController {  
    @RequestMapping("/first") 
    String first(ModelMap model) { 
     model.put("list", new ArrayList<String>()); 
     return "/second"; 
    } 

    @RequestMapping("/second") 
    String second(ModelMap model) { 
     ((List) model.get("list")).add("A"); 
     return "/third"; 
    } 

    @RequestMapping("/third") 
    String third(ModelMap model) { 
     ((List) model.get("list")).add("B"); 
     return "end"; 
    } 
} 

end.jsp

<%@ page import="java.util.List" %> 
<html> 
<body> 
    <%for(String s : (List<String>) request.getAttribute("list")){%> 
     <%=s%> 
    <%}%> 
</body> 
</html> 

是任何人都可以解釋什麼是錯我的代碼?

+0

你得到什麼結果,它是如何與你的期望有什麼不同? –

+0

您是否聽說過Spring Web Flow?也許有用.. – gipinani

+0

我不能使用Spring WF,只能使用MVC。 – user3163426

回答

0

用戶是否需要查看放置在/ first或/ second頁面模型上的數據? 如果不是,怎麼樣嘗試改變:

return "/second";return "redirect:/second";

return "/third";return "redirect:/third";

如果用戶需要看到/第一或/第二頁X時間的數據,如何做從JavaScript的重定向?

編輯: 如何閃光屬性,看到這個帖子:reading flash attributes

@RequestMapping("/first") 
    String first(ModelMap model, final RedirectAttributes redirectAttributes) { 
     model.put("list", new ArrayList<String>()); 
     redirectAttributes.addFlashAttribute("list", new ArrayList<String>()); 
     return "redirect:/second"; 
    } 

    @RequestMapping("/second") 
    String second(ModelMap model, final RedirectAttributes redirectAttributes) { 
     List list = (List) model.get("list"); 
     list.add("A"); 
     redirectAttributes.addFlashAttribute("list", list); 
     return "redirect:/third"; 
    } 

    @RequestMapping("/third") 
    String third(ModelMap model, final RedirectAttributes redirectAttributes) { 
     List list = (List) model.get("list"); 
     list.add("B"); 
     redirectAttributes.addFlashAttribute("list", list); 
     return "end"; 
    } 
+0

>>用戶是否需要查看放置在模型上的/第一頁或第二頁的數據?是的,我需要保存模型。 – user3163426

+0

我不能使用JS。 – user3163426

+0

是的,一切正常。 – user3163426

0

我建議你看一看Spring Webflow。從項目描述複製:

的甜蜜點Spring Web Flow的與 控制的導航狀態的Web應用程序[...]這些場景的共同點是 一個或多個以下特質:

  • 有一個明確的開始和結束點。
  • 用戶必須按特定順序瀏覽一組屏幕。
  • 這些更改直到最後一步纔會完成。
  • 一旦完成它不應該是可以重複交易意外