user2470075
user2470075

Reputation: 169

How to direct to different JSP pages in Spring Controller

I have 4 tabs for 4 different pages. (pageOne, pageTwo, pageThree, pageFour). But how it is coded here, it only directs to pageOne.

I want it to direct to pageTwo when value of Tab="2"

pageThree when Tab="3", pageFour when Tab="4"

And following is Controller. Can anyone help?

Controller

@RequestMapping(value="/encodeListAjax")
public String encodeListAjax(
        HttpServletResponse response,
        HttpServletRequest request,
        ModelMap model,
        Condition condition,
        @RequestParam Map<String, Object> maps, 
        @ModelAttribute Encode encode) throws Exception { 

if(encode.getTab() != null && !"".equals(encode.getTab())) {
        if("1".equals(encode.getTab())) {
            String[] prcsSteCds = {"R02","R05","R06"};
            maps.put("prcsSteCd", prcsSteCds);
        } else if("2".equals(encode.getTab())) {
            String[] prcsSteCds = {"R03"};
            maps.put("prcsSteCd", prcsSteCds);
        } else if("3".equals(encode.getTab())) {
            String[] prcsSteCds = {"R04"};
            maps.put("prcsSteCd", prcsSteCds);
        } else if("4".equals(encode.getTab())) {
            String[] prcsSteCds = {"R07"};
            maps.put("prcsSteCd", prcsSteCds);
        }
    } else {
        String[] prcsSteCds = {"R02","R05","R06"};
        maps.put("prcsSteCd", prcsSteCds);
    }

    List<Encode> resultList = EncodeRepository.encCurList(maps);    
    Long resultformCnt = EncodeRepository.encCurListCnt(maps);
    Pagination<Encode> resultListCnt = PaginationUtil.getPaginationList(resultList, condition, resultformCnt, Order.DESC);              

    model.addAttribute("resultList", resultList);
    model.addAttribute("resultformCnt", resultformCnt);
    model.addAttribute("resultListCnt", resultListCnt);
    model.addAttribute("condition", condition);         

       return "empty/admin/survMng/survey/pageOne";
}

Upvotes: 2

Views: 221

Answers (1)

Oomph Fortuity
Oomph Fortuity

Reputation: 6108

Your controller Handler method may look like this to achieve your target for TAB Switching

@RequestMapping(value="/encodeListAjax")
public String encodeListAjax(
        HttpServletResponse response,
        HttpServletRequest request,
        ModelMap model,
        Condition condition,
        @RequestParam Map<String, Object> maps, 
        @ModelAttribute Encode encode) throws Exception { 

if(encode.getTab() != null && !"".equals(encode.getTab())) {

       int redirectPage=encode.getTab();
       String[] prcsSteCds=null;
       if("1".equals(encode.getTab())) {
            prcsSteCds = {"R02","R05","R06"};
        } else if("2".equals(encode.getTab())) {
            prcsSteCds = {"R03"};
        } else if("3".equals(encode.getTab())) {
            prcsSteCds = {"R04"};
        } else if("4".equals(encode.getTab())) {
            prcsSteCds = {"R07"};
        }
    } else {
        prcsSteCds = {"R02","R05","R06"};
    }
    maps.put("prcsSteCd", prcsSteCds);
    List<Encode> resultList = EncodeRepository.encCurList(maps);    
    Long resultformCnt = EncodeRepository.encCurListCnt(maps);
    Pagination<Encode> resultListCnt = PaginationUtil.getPaginationList(resultList, condition, resultformCnt, Order.DESC);              
    model.addAttribute("resultList", resultList);
    model.addAttribute("resultformCnt", resultformCnt);
    model.addAttribute("resultListCnt", resultListCnt);
    model.addAttribute("condition", condition);         


      if("1".equals(redirectPage)){
           return "empty/admin/survMng/survey/pageOne";
       }else if("2".equals(redirectPage)){
           return "empty/admin/survMng/survey/pageTwo";
       }else if("3".equals(redirectPage)){
           return "empty/admin/survMng/survey/pageThree";
       }else if("4".equals(redirectPage)){
          return "empty/admin/survMng/survey/pageFour";
       }else
         return "empty/admin/survMng/survey/Default";
       }
    return "empty/admin/survMng/survey/NoFound";
}

Upvotes: 2

Related Questions