1. 程式人生 > >SpringMVC獲取頁面引數的三種方法

SpringMVC獲取頁面引數的三種方法

關於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";
	}	
	
}