Hhere is a registration field, after registration it should go to the menu page, but it goes to main
@Controller
@RequestMapping("/main")
public class SignInPageController {
private UserDao userDao;
@Autowired
public SignInPageController(UserDao userDao){this.userDao = userDao;}
@GetMapping("/menu")
public String mainMenuPage(){
return "main/menu";
}
@GetMapping("/signup")
public String signUpPage(Model model){
model.addAttribute("newuser", new User());
return "main/signup";
}
@PostMapping("/signup")
public String signUp(@RequestParam("name") String name,
@RequestParam("password") String password,
@RequestParam("email") String email,
@RequestParam("nativeLanguage") String nativeLanguage){
User user = new User(name, password, email, nativeLanguage);
userDao.signUpUser(user);
return "redirect:/main/menu";
}
can you tell me what the problem is?
It looks like you are missing the @Controller
Spring annotation on your SignInPageController
class.
So you should get something like this:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
// And your other imports...
@Controller
@RequestMapping("/main")
public class SignInPageController {
private UserDao userDao;
@Autowired
public SignInPageController(UserDao userDao){this.userDao = userDao;}
@GetMapping("/menu")
public String mainMenuPage(){
return "main/menu";
}
@GetMapping("/signup")
public String signUpPage(Model model){
model.addAttribute("newuser", new User());
return "main/signup";
}
@PostMapping("/signup")
public String signUp(@RequestParam("name") String name,
@RequestParam("password") String password,
@RequestParam("email") String email,
@RequestParam("nativeLanguage") String nativeLanguage){
User user = new User(name, password, email, nativeLanguage);
userDao.signUpUser(user);
return "redirect:/main/menu";
}
}
So as I was saying in the comments :
You should be returning a ModelAndView
type from your controller's method, with a return such as :
return new ModelAndView("redirect:/main/menu", model);
As you mentionned you also encoutered an issue with a incorrect redirection, try to use defined CONSTANTS to avoid typos :)
If you're new to Spring, make sure to look into RedirectAttributes
, adding flashAttributes
, and check the documentation on Baeldung it is really complete.
Good luck !
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.