SpringMVC接受jsp传过来的值-2

传值的基本四种方法

1.地址栏传值
接受地址栏传过来值,分别为asd和qwe,也就是路径传值,PathVariable是搭配着RequestMapping使用的,括号里面的值一定要相同。然后后面的类型拿到传过来的值。

<a href="handler/welcome2/asd/qwe">first springmvc2  </a><br>
@RequestMapping(value="welcome2/{name1}/{name2}")
	//这里的value=name1 是和下面的 name1  必须要相同的。  上面 也是 必须要有的。
	public String welcome2(@PathVariable("name1") String name,@PathVariable("name2") String name3) {
		//String是一个 对象 所以 就 会 发生改变
		System.out.println("输出的name值");
		System.out.println(name);
		System.out.println("输出的map值");
		System.out.println(map);
		//{stu=org.awen.entity.Student@39f63595, name=1111}
		
		return "success3";
	}

2.表单传值
接受表单的值,差不多也是和上面是一样的。

<form action="handler/welcome3" method="get">
		name:<input name="uname" type="text"><br>
		id:<input name="id" type="text"><br>
		age:<input name="uage" type="text"><br>
		<input type="submit" value="查">
	</form>
@RequestMapping(value="welcome3")
																//设置  其中的 一些 属性
		public String welcome3(@RequestParam("id") String id ,@RequestParam("uname") String name ,@RequestParam(value="uage",required=false,defaultValue="23") Integer age) {
			System.out.println(id);
			System.out.println(name);
			System.out.println(age);
			return "success3";
		}

3.用servlet中原生态的方法
也可以使用servlet的方法,来获取表单传过来的值。

	@RequestMapping(value="welcome4")
	public String welcome4(HttpServletRequest request) {
		System.out.println(request.getParameter("id"));

		return "success3";
		
	}

5.封装类的方法(框架的优势)
有时候需要把从表单中获取的值,封装到一个类里面的时候。这个时候使用SpringMVC可以省略很多代码。
例如学生信息:
表单

	<form action="handler/testObjetcProperties" method="post">
		name:<input name="name" type="text"><br>
		id:<input name="id" type="text"><br>
		homeaddress:<input name="address.homeaddress" type="text"><br>
		schooladdress:<input name="address.schooladdress" type="text"><br>
		<input type="submit" value="查">
	</form>
	

学生类:需要注意的是 学生类里面的 属性 必须要和 index.jsp里面form里的name里面的属性保持一致。

package org.awen.entity;

import java.util.Date;

import org.hibernate.validator.Past;
import org.springframework.format.annotation.DateTimeFormat;

public class Student {
	private int id;
	

	
	
	private String name;
	private Address address;
	public Student(int id,String name) {
		this.id=id;
		this.name=name;
	}
	public Student() {
		
	}
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Address getAddress() {
		return address;
	}
	public void setAddress(Address address) {
		this.address = address;
	}
}

测试实体类java代码:

	//测试实体类
	@RequestMapping(value="testObjetcProperties")
	public String testObjetcProperties(Student student) {
		
		System.out.println(student.getId()+"--"+student.getName()+"--"+student.getAddress().getHomeaddress()+"--"+student.getAddress().getSchooladdress());
		
		
		
		return "success3";
	}
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值