首页 > 解决方案 > Spring MVC控制器类中如何处理两个jsp表单页面

问题描述

我有两个不同的 jsp 页面,一个是 login.jsp 和 form.jsp。我想构建一个登录成功的应用程序,然后表单页面将打开。这里我处理两个jsp页面,但它会显示歧义问题。

@RequestMapping(value = "/", method = RequestMethod.GET)
public String loginModel(Model model){

    model.addAttribute("loginBean",new LoginBean());
    return "login";
}

@RequestMapping(value = "/", method = RequestMethod.GET)
public String model(Model model){

    //FrontBean fBean=new FrontBean();
    model.addAttribute("frontBean",new FrontBean());


    return "form";
}

标签: springforms

解决方案


这是您的登录页面,也是您的欢迎页面

@RequestMapping(value = "/", method = RequestMethod.GET)
public String loginModel(Model model) {

    model.addAttribute("loginBean", new LoginBean());
    return "login";
}

那么您不应该将相同的路径添加到另一个方法。将您的其他方法更改为这样(将映射值更改为第二种方法)

@RequestMapping(value = "/welcome", method = RequestMethod.GET)
public String model(Model model){

    //FrontBean fBean=new FrontBean();
    model.addAttribute("frontBean",new FrontBean());


    return "form";
}

您还需要业务逻辑来检查用户名和密码。之后像这样重定向到您的欢迎页面。(您的login.jsp应该在 post 方法中将用户名和密码发送到/check-user )

@PostMapping("/check-user")
String checkUser(@RequestParam("userName") String userName , @RequestParam("passWord") String passWord){
    if(userName.equals("Your username") && passWord.equals("Your password")){
        return "redirect:welcome";
    }
    return "error";
}

请记住,这不是一种安全的实施方式。这只是一个容易理解的例子。你可以实现你自己的东西。祝你好运


推荐阅读