假设我有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并调用控制器方法,这将为我提供我想要显示的数据?
答案 0 :(得分:0)
当你在Spring编写代码时,我认为我们可以坚持使用它而不是混合使用jsp和Spring风格。为什么不编写菜单URL的映射并从中返回menu.jsp。你也可以保留你的数据库代码(虽然不是一个好的做法)。您可能还需要处理登录提交。