如何在Spring MVC控制器类中处理两个jsp表单页面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Spring MVC控制器类中处理两个jsp表单页面相关的知识,希望对你有一定的参考价值。

我有两个不同的jsp页面,一个是login.jsp和form.jsp.i想要构建应用程序,如登录成功,然后表单页面将打开。在这里我处理两个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";
}
答案

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

@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";
}

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

以上是关于如何在Spring MVC控制器类中处理两个jsp表单页面的主要内容,如果未能解决你的问题,请参考以下文章

MVC模式和Spring MVC初识

如何在 Spring MVC 中基于控制器和操作方法创建 URL?

Spring MVC - 无法呈现视图

如何在spring mvc中将嵌套列表元素传递给控制器

Spring MVC体系结构和处理请求控制器

java框架5-Spring MVC