SpringMVC 返回ModelAndView物件
阿新 • • 發佈:2019-01-09
SpringMVC 返回ModelAndView物件
在控制器類中,處理客戶端請求後,可以把需要響應到頁面的資料和檢視名字都封裝到一個ModelAndView物件中,然後直接返回這個ModelAndView物件。在控制器類中需要引入的包為: org.springframework.web.servlet.ModelAndView
下面是示例程式碼:登入案例,登入成功跳轉到show頁面,失敗返回login頁面。
1.login.jsp(登入頁面)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <% String path = request.getContextPath(); String basepath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <base href="<%=basepath%>" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <h2>login.jsp登入介面</h2> <form action="uc/islogin" method="post"> 使用者名稱:<input type="text" name="loginname" value="lisi"><br /> 密碼:<input type="text" name="loginpwd" value="123"><br /> <!-- 登入失敗提示的資訊 --> <c:if test="${msg!=null }"> ${msg }<br /> </c:if> <input type="submit" value="登入" /> </form> </body> </html>
2、控制器類 UserController
package cn.sz.hcq.control; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import cn.sz.hcq.pojo.Users; @Controller @RequestMapping("uc") public class UserController { // 處理登入的控制器 @RequestMapping(value = "islogin", method = RequestMethod.POST) public ModelAndView checkLogin(Users users) { ModelAndView mav = new ModelAndView(); if (users.getLoginname().equals("lisi") && users.getLoginpwd().equals("123")) { users.setRealname("李四"); // 返回的資料 mav.addObject("users", users); // 跳轉的頁面 mav.setViewName("show"); } else { mav.addObject("msg", "使用者名稱或者密碼錯誤"); // 跳轉的頁面 mav.setViewName("login"); } return mav; } }
3、登入成功show頁面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <h2>show頁面</h2> 登入成功啦: 使用者的真實姓名:${users.realname } </body> </html>