【SSM-SpringMVC】基本数据类型和对象类型为参数

1基本数据类型

在 *.jsp 表单提交数据,Contrller 接收输出
示例代码
put.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="objectdemo" method="post">
		<input type="text" name="name"/>
		<input type="text" name="age"/>
		<input type="submit" value="提交"/>
	</form>
	
</body>
</html>

Controller中的对应demo:

package controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import pojo.People;
import org.springframework.stereotype.Controller;

@Controller
public class ExplainController {
//表格传参接收
@RequestMapping("demo")
public String demo(String name,int age) {
	 System.out.println("执行demo"+ name +"  "+age);
	 return "main.jsp"; 
	}
}

在这里插入图片描述

2对象数据类型

2.1在pojo下创建一个类,然后创建表单提交数据对应类型的变量,补全get/set/tosString**

package pojo;

public class People {

private String name;
private int age;
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
public int getAge() {
	return age;
}
public void setAge(int age) {
	this.age = age;
}
@Override
public String toString() {
	return "People [name=" + name + ", age=" + age + "]";
}

}

2.2Controller中对应的objectdemo

//对象类型引用 在pojo下创建两个类型一样的 表单提交的属性 可以直接输出这个类对象
@RequestMapping("objectdemo")
public String objectdemo(People people) {
	System.out.println("引用对象类型Controller :"+people);
	return "main.jsp";
}

2.3put中的表单修改**

<form action="objectdemo" method="post">
	<input type="text" name="name"/>
	<input type="text" name="age"/>
	<input type="submit" value="提交"/>
</form>

在这里插入图片描述

3.参数多的超乎你想象

表单是提交了两个数据,但Controller想多少个参数就几个参数
Controller

@RequestMapping("more")
public String more(People people,String name,int age,
		HttpServletRequest request){
	request.setAttribute("more", "我有很多参数");
	System.out.println("引用对象类型Controller :"+people);
	return "more.jsp";
}

more.jsp 接收页面,用到EL表达式 在@page 后面加上isELIgnored="false"

<body>
<hr/>
	${more}
</body>

在这里插入图片描述
在这里插入图片描述

4.注解@RequestParam(value=“ ”)

value是默认值 一个值可以不写
解决表单提交的和Controller 中的 参数名不一致问题
表单中:

<body>
	<form action="demo" method="post">
		<input type="text" name="name1111"/>
		<input type="text" name="age1111"/>
		<input type="submit" value="提交"/>
	</form>
</body>

Controller

@RequestMapping("demo")
public String demo(@RequestParam(“name1111”)String name,
								@RequestParam(“age1111”)int age) {
	 System.out.println("执行demo"+ name +"  "+age);
	 return "main.jsp"; 
}

@RequestParam(default-value=" ")防止参数为null,为参数设置默认值
@RequestParam(required=true)必须有这个参数,没有报异常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值