在从 jsp 重定向时调用 Spring 控制器方法



所以假设我有 2 个 jsp 文件:登录.jsp和菜单.jsp

我在控制器类中也有两个方法:

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

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

登录中.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((,这会将所有用户传递到我的菜单.jsp。所以它只是打开一个空的/menu 页面。如何重定向到菜单.jsp并调用控制器方法,这将为我提供要显示的数据?

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

最新更新