SpringMVC獲取頁面引數的三種方法
阿新 • • 發佈:2019-02-20
關於SpringMVC獲取頁面引數的方法,以下示例
jsp頁面,點選submi提交請求到後臺,後臺需要獲取頁面“使用者名稱”與“密碼”輸入框中的值
<%@ 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>Insert title here</title> </head> <body> <h1>登陸頁</h1> <form action="SpringMVC/user/login" method="post"> 使用者名稱:<input type="text" name="uname"/> 密碼:<input type="password" name="pwd"> <input type="submit" value="submit"> </form> </body> </html>
方法一.使用HttpServletRequest作為SpringMVC 控制器裡面方法的引數,同Servlet中使用Request物件獲取頁面引數的方法一樣
SpringMVC 控制器
package controller; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping("/user") public class UserController { /** * 使用HttpServletRequest作為SpringMVC 控制器裡面方法的引數 * @param request * @return */ @RequestMapping("/login") public String login(HttpServletRequest request){ String username = request.getParameter("uname");//同Servlet一樣,獲取頁面屬性名叫uname的值 String password = request.getParameter("pwd");//同Servlet一樣,獲取頁面屬性名叫pwd的值 return "/user/login"; } }
方法二.通過SpringMVC Annotation註解機制,將前端頁面引數傳回後臺
SpringMVC 控制器
package controller; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @Controller @RequestMapping("/user") public class UserController { /** * 通過SpringMVC Annotation註解機制 * @RequestParam("uname")String username——獲取頁面屬性名叫"uname"的值,用String型別接收,變數名叫username * @param request * @return */ @RequestMapping("/login") public String login(@RequestParam("uname")String username,@RequestParam("pwd")String password){ return "/user/login"; } }
方法三.使用JavaBean自動裝配機制,建立一個User類,將頁面引數作為一個User物件傳回後臺
Model類,屬性名需與頁面引數名一樣
package model;
public class User {
private String uanme;
private String pwd;
public String getUanme() {
return uanme;
}
public void setUanme(String uanme) {
this.uanme = uanme;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
SpringMVC 控制器package controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import model.User;
@Controller
@RequestMapping("/user")
public class UserController {
/**
* 將頁面引數作為一個JavaBean物件傳回
* @param user
* @return
*/
@RequestMapping("/login")
public String login(User user){
return "/user/login";
}
}