Springmvc学习-Springmvc04-recieveParameter(1)

Springmvc03-recieveParameter

1. property

单纯的只是收到property。spring自带类型转换 提交的表单name值和方法的形参名一致才能接受,不一致不能接受,但是可以通过RequestParam(“username”)参数校正。

  • index.jsp
<%@ 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>
	<form action="springmvc/hello" method="post">
		<input type="text" name="username"><br>
		<input type="text" name="age"><br>
		<input type="submit" name="提交">
	</form>
</body>
</html>
  • controller类
package com.caorui.handlers;



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

//后端控制器
@Controller //该注解表示将当前类给spring容器管理
@RequestMapping("/springmvc")//该注解起了限定范围的作用
public class MyController {

	@RequestMapping("/hello")  //@RequestParam("username")参数校正
							//spring自带类型转换 提交的表单name值和方法的形参名一致才能接受,不一致不能接受,但是可以通过RequestParam("username")参数校正
	public ModelAndView hello(@RequestParam("username") String uname, int age) { 
		ModelAndView modelAndView = new ModelAndView();
		modelAndView.addObject("username", uname);
		modelAndView.addObject("age", age);
		modelAndView.setViewName("welcome");
		return modelAndView;
	}
	
}


2. object

如果收到对象,可以在controller的方法里传入个对象。对象的属性名和表单name值一致。

  • index.jsp
<%@ 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>
	<form action="springmvc/hello" method="post">
		用户名:<input type="text" name="username"></br>
		年龄:<input type="text" name="age"></br>
		伴侣名称:<input type="text" name="partner.name"></br>
				<input type="submit" value="提交"></br>
	</form>
</body>
</html>
  • controller类
package com.caorui.handlers;



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

import com.caorui.pojo.Star;

//后端控制器
@Controller //该注解表示将当前类给spring容器管理
@RequestMapping("/springmvc")//该注解起了限定范围的作用
public class MyController {

	@RequestMapping("/hello")  
	public ModelAndView hello(Star star) { //创建对象接受,对象的属性名和提交表单name值一致
		ModelAndView modelAndView = new ModelAndView();
		modelAndView.addObject("username", star.getUsername());
		modelAndView.addObject("age", star.getAge());
		modelAndView.addObject("partner", star.getPartner().getName());
		modelAndView.setViewName("welcome");
		return modelAndView;
	}


}

  • pojo类
package com.caorui.pojo;

public class Star {

	private String username;   //和表单中的name值一致,不然封装不了
	private int age;
	private Partner partner;
	
	public Partner getPartner() {
		return partner;
	}
	public void setPartner(Partner partner) {
		this.partner = partner;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	@Override
	public String toString() {
		return "Star [username=" + username + ", age=" + age + ", partner=" + partner + "]";
	}
	
	
}

package com.caorui.pojo;

public class Partner {

	private String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@Override
	public String toString() {
		return "Partner [name=" + name + "]";
	}
	
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值