在重定向FROM jsp上调用Spring控制器方法

时间:2017-11-17 12:42:59

标签: java jsp spring-mvc methods

假设我有2个jsp文件: login.jsp和menu.jsp

此外,我在控制器类中有两个方法:

@RequestMapping("/login")
    public void login() {
        return "login";
    }


@RequestMapping("/menu")
    public void menu() {
        List<User> allUsers = userJpaRepository.findAll();
    return new ModelAndView("allUsers", "users", allUsers);
    }

login.jsp

<%@page import="com.markovski.database.DataBase"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>

<form method="get" action="menu.jsp">
<% 
    String accname = request.getParameter("uname");
    String password = request.getParameter("pass");

    if(DataBase.checkForUserCreditinals(accname, password)){
        session.setAttribute("userId", 2);

        response.sendRedirect("menu.jsp");
    } else {
        //out.println("Error");
    }

%>
</form>

那么我想要什么?当我登录时,我希望被重定向到菜单页面,但它不会调用menu(),它会将所有用户传递给我的menu.jsp。所以它只是打开一个空/菜单页面。如何重定向到menu.jsp并调用控制器方法,这将为我提供我想要显示的数据?

1 个答案:

答案 0 :(得分:0)

当你在Spring编写代码时,我认为我们可以坚持使用它而不是混合使用jsp和Spring风格。为什么不编写菜单URL的映射并从中返回menu.jsp。你也可以保留你的数据库代码(虽然不是一个好的做法)。您可能还需要处理登录提交。