2016-03-09 32 views
0

我想重寫Spring MVC中的servlet控制流,這是我的 的doGet中的ServletSprinMVC控制流

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     String action = request.getParameter("action"); 

     String path = request.getParameter("path"); 

     if (path != null && path.equals("register")) { 
      RequestDispatcher view = request.getRequestDispatcher("/WEB-INF/views/system/registeruser.jsp"); 
      view.forward(request, response); 
     } else if (path != null && path.equals("usermang")) { 
      RequestDispatcher view = request.getRequestDispatcher("/WEB-INF/views/system/manageuser.jsp"); 
      view.forward(request, response); 
     } 

    else { 
      PrintWriter out = response.getWriter(); 
      out.print("Served at: " + request.getContextPath()); 
      RequestDispatcher view = request.getRequestDispatcher("/WEB-INF/views/system/index.jsp"); 
      view.forward(request, response); 
     } 
    } 

我想用的模型和視圖 例

@RequestMapping(value ="/grcon" ,method = RequestMethod.GET) 
    public ModelAndView getGrcon() 

     ModelAndView modegeron = new ModelAndView("index"); 

if (path != null && path.equals("register")) { 
     view = request.getRequestDispatcher("/WEB-INF/views/system/registeruser.jsp"); 

     return modegeron; 

    } 
} 
到的doGet轉換上述春RequestMapping
+1

很難理解你在做什麼,因爲標題和描述都沒有提出任何問題。在Spring MVC中,有一個名爲DispatcherServlet的現成servlet,您應該使用它。邏輯由控制器處理。 – Stefan

+0

請通過Spring MVC文檔。一些博客鏈接將是有用的http://www.mkyong.com/tutorials/spring-mvc-tutorials/。你應該能夠得到這個 –

回答

1

你正在使複雜的方式,使用春天的力量來處理你的複雜性。

對於初學者,將InternalResourceViewResolver添加到您的配置中,這將處理資源翻譯的視圖。

<bean id="viewResolver" class="InternalResourceViewResolver"> 
    <property name="prefix" value="/WEB-INF/views/system/" /> 
    <property name="suffix" value=".jsp" /> 
</bean> 

下一個params元素添加到您的@RequestMapping有映射的進一步規範。

@RequestMapping(value ="/grcon", method = RequestMethod.GET, params="path=register") 
public String register() { 
    return "registeruser"; 
} 

@RequestMapping(value ="/grcon", method = RequestMethod.GET, params="path= usermang") 
public String manageUser() { 
    return "manageuser"; 
} 

@RequestMapping(value ="/grcon", method = RequestMethod.GET) 
public String index() { 
    return "index"; 
} 

或者使用具有@RequestParam的方法並返回相應的視圖。小竅門在做String比較先把靜態值,節省一個null檢查。

@RequestMapping(value ="/grcon", method = RequestMethod.GET) 
public String register(@RequestParam(value="path", required=false) String path) { 
    if ("register".equals(path)) { 
     return "registeruser"; 
    } else if ("usermang".equals(path)) { 
     return "manageuser"; 
    } 
    return "index"; 
} 

但是通常你也想做這樣Model第一可能是更適用的一些準備工作。

0
@RequestMapping(value ="/grcon/{path}" ,method = RequestMethod.GET) 
public ModelAndView getGrcon(@PathParam String path) 

    ModelAndView modegeron = null; 

    if (path != null && path.equals("register")) { 
     modegeron = new ModelAndView("registeruser"); 
    } else if (path != null && path.equals("usermang") { 
     modegeron = new ModelAndView("manageuser"); 
    } else { 
     modegeron = new ModelAndView("index"); 
    } 

    return modegeron; 
}