2013-05-02 2 views
0

У меня есть страница, в которую я вводим параметры для запроса списка записей. Когда нажата кнопка запроса, я получаю список, когда элемент формы, на который был нажат список, возвращает меня на первую страницу с записью на дисплее.Проблема с параметром SpringMVC в url

Когда я нажимаю другую кнопку 'new', чтобы очистить страницу и вернуть пустую страницу, параметр есть в URL-адресе и задает значение элемента на странице. Элемент, который есть в URL-адресе является преступлениемRecNo.

Как я могу избавиться от этого, я хочу вернуть пустую страницу?

Сценарий

  1. Я на страницу со следующим URL :http://adomain/crimeTrack/crime_registration.htm

  2. я нажимаю запрос который делает POST на другой URL, который отображает список записей: http://adomain/crimeTrack/crimeList.htm

  3. На вышеприведенной странице в 2 выше i затем выберите одну запись, которая делает POST, и приведет меня к следующему URL: http://adomain/crimeTrack/getCrime/6.htm - where 6 is the crimeRecNo.

  4. Я сейчас на вышеуказанном URL-адресе, и я нажимаю кнопку «NEW», чтобы получить пустую форму с адресом в 1 выше. Когда я ударил новый POST-сделано для метода контроллера в образце кода 4 под

Этот метод делает редирект на URL, который отображается в методе GET, однако окончательный URL выглядит следующим образом: http://adomain/crimeTrack/%20crime_registration.htm?crimeRecNo=6

Значение 6 остается в поле crimeRecNo, и вся форма не очищается.

Под это методы контроллера:

1. Начальная страница запрос

@RequestMapping(value = "crime_registration.htm", method = RequestMethod.GET) 
public ModelAndView loadPage(HttpServletRequest request,HttpServletResponse response, @ModelAttribute Crime crime,BindingResult result, ModelMap m, Model model, SessionStatus status,HttpSession session) throws Exception { 

      try { 


       logger.debug("In Crime Registration Controller"); 

       myCriminalList.put("dbcriminalList", 
         this.citizenManager.getListOfCriminals()); 
       ................... 

       session.setAttribute("page", 0); 


       return new ModelAndView("crime_registration"); 

      } catch (Exception e) { 

       logger.debug("Exception In CrimeRegistration Controller : " 
         + e.getMessage()); 

       return new ModelAndView("crime_registration"); 

      } 

     } 

2. Запрос Для Список предметов

@RequestMapping(value = "crimeList.htm", method = RequestMethod.POST) 
public ModelAndView handelCrimeList(@ModelAttribute Crime crime, 
     BindingResult result, ModelMap m, Model model) throws Exception { 

    if (crimeManager.getCrimesList(crime).size() <= 0) { 

     model.addAttribute("dbcriminals", myCriminalList); 
     ........ 

     model.addAttribute("crimeTypeList", crimeTypeManager.getCrimeTypeList(crime.getOffenceCatId())); 

     model.addAttribute("icon", "ui-icon ui-icon-circle-close"); 
     model.addAttribute("results","Error: Query Caused No Records To Be Retrieved!"); 

     return new ModelAndView("crime_registration"); 
    } 

    model.addAttribute("crimes", crimeManager.getCrimesList(crime)); 

    return new ModelAndView("crimeList"); 

} 

3. запрос на один Пункт/Когда элемент выбран из списка

@RequestMapping(value = "getCrime/{crimeRecNo}.htm", method = RequestMethod.POST) 
public ModelAndView getCrime(@PathVariable Integer crimeRecNo, 
     @ModelAttribute Crime crime, BindingResult result, ModelMap m, 
     Model model, HttpServletRequest request, 
     HttpServletResponse response, HttpSession session) throws Exception { 

    try { 
     model.addAttribute("crime", crimeManager.getCrimeRecord(crimeRecNo)); 
     session.setAttribute("crimeRecNo", crimeRecNo); 
     //model.addAttribute("victimList", citizenManager.getVictimListByCrimeRecNo(crimeRecNo)); 

    } catch (Exception e) { 

     logger.error("Exception in CitizenRegistrationController - ModelAndView getCitizen " 
       + e); 
    } 

    int crimeCatId = crimeManager.getCrimeRecord(crimeRecNo).getOffenceCatId(); 
    logger.info("crime category number is : "+crimeCatId); 

    myCrimeTypeList.put("crimeTypeList", this.crimeTypeManager.getCrimeTypeList(crimeCatId)); 


    model.addAttribute("dbcriminals", myCriminalList); 
    ..... 
    session.setAttribute("crimeRecNo", crimeRecNo); 

    return new ModelAndView("crime_registration"); 


} 

4. Запрос NEW Форма

@RequestMapping(value = "crime_registration_new.htm", method = RequestMethod.POST) 
public String loadNew(HttpServletRequest request,Model model, 
     HttpServletResponse response,SessionStatus status,HttpSession session) throws Exception { 

    status.setComplete(); 


    return "redirect: crime_registration.htm"; 
    //return new ModelAndView(new RedirectView("crime_registration.htm")); 


} 

ответ

0

Добавление этого 4 сделал трюк

@RequestMapping(value = "crime_registration_new.htm", method = RequestMethod.POST) 
public String loadNew(HttpServletRequest request,Model model, 
     HttpServletResponse response,SessionStatus status,HttpSession session) throws Exception { 

    status.setComplete(); 

    model.addAttribute("crime", new Crime()); 
    return "redirect: crime_registration.htm"; 
    //return new ModelAndView(new RedirectView("crime_registration.htm")); 


} 
Смежные вопросы