SpringMVC值傳遞的幾種方式及示例代碼

一、接收前端頁面的值

1、傳統方式(request)
request.getParameter(“控件名字”);
2、restful風格
@requestParam(“控件名字”)
restful風格是指註解既不用在類上面也不用在方法上面也不用在屬性上面
3、普通方式
要跟控件名字一模一樣
4、封裝成對象
屬性名字要跟控件名字一模一樣

二、將acton中的值帶到頁面中

1、傳統方式(request範圍)
2、ModelMap
3、ModelAndView
4、@ModelAttribute()
用@ModelAttribute()進行修飾的方法會先於這個類中的其他方法先被執行

三、示例action代碼

package com.ruide.action;

import java.util.HashMap;
import java.util.Map;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.ruide.po.User;
@Controller
public class DoLoginAction {
	/*@RequestMapping("/login.do")
	public String login(HttpServletRequest request){
		String username=request.getParameter("username");
		String userpass=request.getParameter("userpass");
		System.out.println(username+" "+userpass);
		return null;
	}*/
	/*@RequestMapping("/login.do")
	public String login(@RequestParam("username") String username,
			@RequestParam("userpass") String password
			){
		System.out.println(username+" "+password);
		return null;
	}*/
	/*@RequestMapping("/login.do")
	public String login(String username,String userpass){
		System.out.println(username+" "+userpass);
		return null;
	}*/
	/*@RequestMapping("/login.do")
	public String login(User user){
		System.out.println(user.getUsername()+" "+user.getUserpass());
		return null;
	}*/
	
	//值傳遞
	/*@RequestMapping("/login.do")
	public String login(User use,HttpServletRequest request){
		request.setAttribute("username",use.getUserpass());
		return "index";
	}*/
	/*@RequestMapping("/login.do")
	public String login(User use,ModelMap mm){
		mm.put("username",use.getUsername());
		return "index";
	}*/
	/*@RequestMapping("/login.do")
	public ModelAndView login(User use){
		Map<String,String> model=new HashMap<String,String>();
		model.put("username",use.getUsername());
		ModelAndView mv=new ModelAndView("index", model);
		return mv;
	}*/
	//用的最普遍
	@RequestMapping("/login.do")
	public ModelAndView login(User use){
		ModelAndView mv=new ModelAndView();
		mv.addObject("username",use.getUsername());
		mv.setViewName("index");
		return mv;
	}
	@ModelAttribute("name")
	public String getName(){
		return "hello world";
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章