title: Spring: The request sent by the client was syntactically incorrect ()
body: <p>Hi I received next error during the redirect: </p>
  
  <blockquote>
    <p>The request sent by the client was syntactically incorrect</p>
  </blockquote>
  
  <p>URL which browser shows is: <code>localhost:8080/Project/menu/main/home/0</code> and here my classes with redirects first - "from", second "to":</p>
  
  <pre><code> /*
   * Get all possible values of menu and generate correct url to pages controllers
   * 
   */
  
  @Controller
  @SessionAttributes("menu")
  public class MainMenuController {
  
  
      @ModelAttribute
      public Menu createMenu() {
          return new Menu();
      }
  
      @RequestMapping(value = "/menu", method = RequestMethod.GET)
      public String mainMenuResolver(@ModelAttribute Menu menu) {
          menu.setMainMenu("first");
          return "forward:/menu/first";
      }
  
      @RequestMapping(value = "/menu/{mainMenu}", method = RequestMethod.GET)
      public String subMenuResolver(@PathVariable String mainMenu, @ModelAttribute Menu menu) {
          menu.setMainMenu(mainMenu);
          menu.setSubMenu("home");
          return "forward:/menu/first/home";
      }
  
      @RequestMapping(value = "/menu/{mainMenu}/{subMenu}", method = RequestMethod.GET)
      public String secMenuResolver(@PathVariable String mainMenu, @PathVariable String subMenu, @ModelAttribute Menu menu) {
          menu.setMainMenu(mainMenu);
          menu.setSubMenu(subMenu);
          menu.setSecMenu("0");
  
          if (menu.getMainMenu().equals("first")){
              return "redirect:/menu/main/"+menu.getSubMenu()+"/"+menu.getSecMenu();
          }
  
          if (menu.getMainMenu().equals("second")){
              return "redirect:/menu/religion/"+menu.getSubMenu()+"/"+menu.getSecMenu();
          }
  
          return "redirect:/menu/main/"+menu.getSubMenu()+"/"+menu.getSecMenu();
      }
  }
  </code></pre>
  
  <p>Second class:</p>
  
  <pre><code>@Controller
  @SessionAttributes("menu")
  public class FirstPageController {
  
      @ModelAttribute
      public Menu createMenu() {
          return new Menu();
      }
  
      @RequestMapping(value = "/menu/main/{subMenu}/{secMenu}", method = RequestMethod.GET)
      public ModelAndView menuResolver(@PathVariable String mainMenu, @PathVariable String subMenu,@PathVariable String secMenu, @ModelAttribute("menu") Menu menu) {
          menu.setMainMenu(mainMenu);
          menu.setSubMenu(subMenu);
          menu.setSecMenu(secMenu);       
  
          if (menu.getSubMenu().equals("home")){
              String title = "Project - Home Page";
              return new ModelAndView("MainPage", "title", title);
          }
  
          String title = "Project - Home Page";
          return new ModelAndView("MainPage", "title", title);
      }
  }
  </code></pre>
  
  <p><strong>Solved</strong>: I solved it, there excess parameter in the method of the second class.</p>