初识 Spring(10)---(SpringMVC--向前台传递数据)

SpringMVC--向前台传递数据

在上篇博客基础上继续

第一种方式:返回一个ModelAndView

修改代码:SpringmvcTest.java

package com.neuedu.springmvc.controller;

import java.util.Date;

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

import com.neuedu.springmvc.po.User;
import com.sun.javafx.scene.accessibility.Attribute;
import com.sun.org.apache.bcel.internal.generic.NEW;

@Controller
//@RequestMapping("/test")
/*这是类*/

public class SpringmvcTest {
	
	/*向前台传递数据的第一种方式:
	1.返回一个ModelAndView*/
	
	@RequestMapping("/testReturnData")      //新增代码
	public ModelAndView testReturnData() {
		ModelAndView modelAndView= new ModelAndView();
		modelAndView.addObject("date", new Date());
        modelAndView.addObject("username","zhangsan");
		modelAndView.setViewName("success");
		
		return modelAndView;                //新增代码
	}
	/*实体类*/
	@RequestMapping("/testPojo")
	public String testPojo(User user) {
		System.out.println(user);
		
		return "success";
	}
	
	
	@RequestMapping("/testParamsRequired")
	public String testParamsRequired( @RequestParam (value="username",required=true) String username,Integer age) {
		System.out.println("testParamsRequired,username:" + username);
		System.out.println("testParamsRequired,age:" + age);
		return "success";
	}
	
	
	@RequestMapping("/testParams")
	public String testParams(@RequestParam("name") String username,
			@RequestParam("pwd") String password) {
		System.out.println("username:" + username);
		System.out.println("password:" + password);
		return "success";
	}
	
	@RequestMapping(value= {"/testUrl1","testUrl2"})
	public String testUrl() {
		System.out.println("testUrl");
		return "success";
	}
	/*	method=RequestMethod.POST 限定接收用什么方式的请求*/
	@RequestMapping(value="/testMethod",method=RequestMethod.GET)
	public String testMethod() {
		System.out.print("testMethod...");
		return "success";
	}
	/*既可以用在方法上,也可以用在类上,这是方法*/
	@RequestMapping("/testRequestMapping")
	public String testRequestMapping() {
		System.out.println("testRequestMapping...");
		return "success";
	}
	
}

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


	 Hello Index
	

Hello testRequestMapping

Hello testMethod



Hello testUrl1

Hello testUrl2

Hello testParams

Hello testParamsRequired

username:
password:
gender:

email:
phone:
province:
city:


Hello testReturnData //新增代码

success.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>




Insert title here


	

Success page


当前日期:${requestScope.date} //新增代码 用户名:${requestScope.username}

输出:点击按钮---返回当前日期

    初识 Spring(10)---(SpringMVC--向前台传递数据)_第1张图片

第二种方式:返回一个ModelAndView

2.在springMVC的参数中可以直接使用的有:
    HttpServletRequest
    HttpServletResponse
    HttpSession
    Map
    Model

修改代码:SpringmvcTest.java

package com.neuedu.springmvc.controller;

import java.util.Date;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import com.neuedu.springmvc.po.User;

import com.sun.javafx.scene.accessibility.Attribute;
import com.sun.org.apache.bcel.internal.generic.NEW;

@Controller
//@RequestMapping("/test")
/*这是类*/

public class SpringmvcTest {
	
	/*向前台传递数据的第二种方式:              //新增代码
	2.在springMVC的参数中可以直接使用的有:
	HttpServletRequest
	HttpServletResponse
	HttpSession
	Map
	Model                                     //新增代码
	*/
	
	@RequestMapping("/testReturnData2")
	public String testReturnData2(Map map) {
		User user = new User("li", "1234", "female", "[email protected]", "15603320164");
		map.put("username","zhang2");
		map.put("user", user);
		return "success";
	}
	
	/*向前台传递数据的第一种方式:
	1.返回一个ModelAndView*/
	
	@RequestMapping("/testReturnData")
	public ModelAndView testReturnData() {
		ModelAndView modelAndView= new ModelAndView();
		modelAndView.addObject("date", new Date());
		modelAndView.addObject("username","zhangsan");
		modelAndView.setViewName("success");
		
		return modelAndView;
	}
	
	
	
	
	
	/*实体类*/
	@RequestMapping("/testPojo")
	public String testPojo(User user) {
		System.out.println(user);
		
		return "success";
	}
	
	
	@RequestMapping("/testParamsRequired")
	public String testParamsRequired( @RequestParam (value="username",required=true) String username,Integer age) {
		System.out.println("testParamsRequired,username:" + username);
		System.out.println("testParamsRequired,age:" + age);
		return "success";
	}
	
	
	@RequestMapping("/testParams")
	public String testParams(@RequestParam("name") String username,
			@RequestParam("pwd") String password) {
		System.out.println("username:" + username);
		System.out.println("password:" + password);
		return "success";
	}
	
	@RequestMapping(value= {"/testUrl1","testUrl2"})
	public String testUrl() {
		System.out.println("testUrl");
		return "success";
	}
	/*	method=RequestMethod.POST 限定接收用什么方式的请求*/
	@RequestMapping(value="/testMethod",method=RequestMethod.GET)
	public String testMethod() {
		System.out.print("testMethod...");
		return "success";
	}
	/*既可以用在方法上,也可以用在类上,这是方法*/
	@RequestMapping("/testRequestMapping")
	public String testRequestMapping() {
		System.out.println("testRequestMapping...");
		return "success";
	}
	
}

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


	 Hello Index
	

Hello testRequestMapping

Hello testMethod



Hello testUrl1

Hello testUrl2

Hello testParams

Hello testParamsRequired

username:
password:
gender:

email:
phone:
province:
city:


Hello testReturnData

Hello testReturnData2 //新增代码

success.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>




Insert title here


	

Success page


当前日期:${requestScope.date} 用户名:${requestScope.username}

user:${requestScope.user.password} 用户名:${requestScope.username}

输出:

  初识 Spring(10)---(SpringMVC--向前台传递数据)_第2张图片

第三种方式:返回一个Model

修改代码:SpringmvcTest.java

package com.neuedu.springmvc.controller;

import java.util.Date;
import java.util.Map;
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.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import com.neuedu.springmvc.po.User;

import com.sun.javafx.scene.accessibility.Attribute;
import com.sun.org.apache.bcel.internal.generic.NEW;

@Controller
//@RequestMapping("/test")
/*这是类*/

public class SpringmvcTest {                                  //新增代码
	
	@RequestMapping("/testReturnData3")
	public String testReturnData3(User user,Model model) {
		model.addAttribute("user",user);
		return "success";
	}                                                        //新增代码
	
	/*向前台传递数据的第二种方式:
	2.在springMVC的参数中可以直接使用的有:
	HttpServletRequest
	HttpServletResponse
	HttpSession
	Map
	Model
	*/
	
	@RequestMapping("/testReturnData2")
	public String testReturnData2(Map map) {
		User user = new User("li", "1234", "female", "[email protected]", "15603320164");
		map.put("username","zhang2");
		map.put("user", user);
		return "success";
	}
	
	/*向前台传递数据的第一种方式:
	1.返回一个ModelAndView*/
	
	@RequestMapping("/testReturnData")
	public ModelAndView testReturnData() {
		ModelAndView modelAndView= new ModelAndView();
		modelAndView.addObject("date", new Date());
		modelAndView.addObject("username","zhangsan");
		modelAndView.setViewName("success");
		
		return modelAndView;
	}
	
	
	
	
	
	/*实体类*/
	@RequestMapping("/testPojo")
	public String testPojo(User user) {
		System.out.println(user);
		
		return "success";
	}
	
	
	@RequestMapping("/testParamsRequired")
	public String testParamsRequired( @RequestParam (value="username",required=true) String username,Integer age) {
		System.out.println("testParamsRequired,username:" + username);
		System.out.println("testParamsRequired,age:" + age);
		return "success";
	}
	
	
	@RequestMapping("/testParams")
	public String testParams(@RequestParam("name") String username,
			@RequestParam("pwd") String password) {
		System.out.println("username:" + username);
		System.out.println("password:" + password);
		return "success";
	}
	
	@RequestMapping(value= {"/testUrl1","testUrl2"})
	public String testUrl() {
		System.out.println("testUrl");
		return "success";
	}
	/*	method=RequestMethod.POST 限定接收用什么方式的请求*/
	@RequestMapping(value="/testMethod",method=RequestMethod.GET)
	public String testMethod() {
		System.out.print("testMethod...");
		return "success";
	}
	/*既可以用在方法上,也可以用在类上,这是方法*/
	@RequestMapping("/testRequestMapping")
	public String testRequestMapping() {
		System.out.println("testRequestMapping...");
		return "success";
	}
	
}

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


	 Hello Index
	

Hello testRequestMapping

Hello testMethod



Hello testUrl1

Hello testUrl2

Hello testParams

Hello testParamsRequired

username:
password:
gender:

email:
phone:
province:
city:


Hello testReturnData

Hello testReturnData2

//新增代码 username:
password:
gender:

email:
phone:
province:
city:
//新增代码

输出:

初识 Spring(10)---(SpringMVC--向前台传递数据)_第3张图片          

第四种方式:返回一个Request

修改代码:SpringmvcTest.java

package com.neuedu.springmvc.controller;

import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

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.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import com.neuedu.springmvc.po.User;

import com.sun.javafx.scene.accessibility.Attribute;
import com.sun.org.apache.bcel.internal.generic.NEW;

@Controller
//@RequestMapping("/test")
/*这是类*/

public class SpringmvcTest {                              //新增代码
	
	@RequestMapping("/testReturnData4")
	public String testReturnData4(User user,HttpServletRequest request){
		request.setAttribute("user",user);
		return "success";
	}                                                    //新增代码
	
	
	@RequestMapping("/testReturnData3")
	public String testReturnData3(User user,Model model) {
		model.addAttribute("user",user);
		return "success";
	}
	
	/*向前台传递数据的第二种方式:
	2.在springMVC的参数中可以直接使用的有:
	HttpServletRequest
	HttpServletResponse
	HttpSession
	Map
	Model
	*/
	
	@RequestMapping("/testReturnData2")
	public String testReturnData2(Map map) {
		User user = new User("li", "1234", "female", "[email protected]", "15603320164");
		map.put("username","zhang2");
		map.put("user", user);
		return "success";
	}
	
	/*向前台传递数据的第一种方式:
	1.返回一个ModelAndView*/
	
	@RequestMapping("/testReturnData")
	public ModelAndView testReturnData() {
		ModelAndView modelAndView= new ModelAndView();
		modelAndView.addObject("date", new Date());
		modelAndView.addObject("username","zhangsan");
		modelAndView.setViewName("success");
		
		return modelAndView;
	}
	
	
	
	
	
	/*实体类*/
	@RequestMapping("/testPojo")
	public String testPojo(User user) {
		System.out.println(user);
		
		return "success";
	}
	
	
	@RequestMapping("/testParamsRequired")
	public String testParamsRequired( @RequestParam (value="username",required=true) String username,Integer age) {
		System.out.println("testParamsRequired,username:" + username);
		System.out.println("testParamsRequired,age:" + age);
		return "success";
	}
	
	
	@RequestMapping("/testParams")
	public String testParams(@RequestParam("name") String username,
			@RequestParam("pwd") String password) {
		System.out.println("username:" + username);
		System.out.println("password:" + password);
		return "success";
	}
	
	@RequestMapping(value= {"/testUrl1","testUrl2"})
	public String testUrl() {
		System.out.println("testUrl");
		return "success";
	}
	/*	method=RequestMethod.POST 限定接收用什么方式的请求*/
	@RequestMapping(value="/testMethod",method=RequestMethod.GET)
	public String testMethod() {
		System.out.print("testMethod...");
		return "success";
	}
	/*既可以用在方法上,也可以用在类上,这是方法*/
	@RequestMapping("/testRequestMapping")
	public String testRequestMapping() {
		System.out.println("testRequestMapping...");
		return "success";
	}
	
}

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


	 Hello Index
	

Hello testRequestMapping

Hello testMethod



Hello testUrl1

Hello testUrl2

Hello testParams

Hello testParamsRequired

username:
password:
gender:

email:
phone:
province:
city:


Hello testReturnData

Hello testReturnData2

//修改代码 username:
password:
gender:

email:
phone:
province:
city:
//修改代码

输出:

初识 Spring(10)---(SpringMVC--向前台传递数据)_第4张图片   

你可能感兴趣的:(Java,#,Spring,突破Spring框架)