前言
先来看看怎么写的
首先这个是maven的web工程:
如何创建一个maven的web工程,在实训日志4里面也提到过
Controller中内容
首先是Controller中的内容(全部代码):
package com.itheima.controller;
import com.itheima.dao.UserMapper;
import com.itheima.pojo.User;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import java.util.Collection;
import java.util.List;
import java.util.Map;
//@RestController 默认返回json数据格式
@Controller
public class UserController {
@Autowired
UserMapper userMapper;
//自动注入一个实例
// @GetMapping("/addOneInfo")
@RequestMapping("/addOneInfoRequest")
// @ResponseBody
public String AddOne(@RequestParam("username") String un,@RequestParam("password") String pw,
@RequestParam("salt") String st,@RequestParam("sex") int sex){
System.out.println("成功进入addOne");
System.out.println("四个变量的值:"+un+pw+st+sex);
User user = new User();
user.setUserName(un);
user.setPassword(pw);
user.setSalt(st);
user.setSex(sex);
System.out.println("user信息:"+user);
int add = userMapper.addOne(user);
System.out.println(add+"\t"+user);
System.out.println("添加信息完成");
// getAlluser(new Model(null) ); //调用函数返回
// 若是没有加@ResponseBody的注解 那么它返回时thymeleaf报错 说是找不到 加上@ResponseBody 后 会装换为json格式
return "userindex";
}
}
html内容:
然后html 页面中的内容:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>增加个人信息</title>
<style>
#infoBox{
margin: auto;
text-align: left;
width:60%;
}
</style>
</head>
<body>
<div id="infoBox">
<form action="/addOneInfoRequest" method="get">
用户名:
<input name="username" id="username" type="text">
<br>
密码:
<input name="password" id="password" type="text">
<br>
salt:
<select name="salt" id="salt">
<!-- value中的值是form表单传的值 option标签之间的值是页面显示的值 -->
<option value="salt1" selected="selected">salt1</option>
<option value="salt2">salt2</option>
<option value="salt3">salt3</option>
</select>
<br>
sex:
<select name="sex" id="sex">
<!-- value中的值是form表单传的值 option标签之间的值是页面显示的值 -->
<option value="1" selected="selected">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<br>
<input type="submit" id="submitBotton" value="提交">
</form>
</div>
</body>
</html>
注意上面的form表单的中 一定要有一个提交按钮:
也就是这个的type一定要为submit:
运行出来的页面是这样的:
我在两个框中输入了2233
点击提交后(地址栏变化,刚刚form表单中的内容):
Controller也接收到了数据并打印出来了数据:
有关@RequestParam注解和@Param的注解,我之前因为通过url传递值过来时,然而使用的是@param注解 所以只有int类型数据,变量获取到了,但是String类型的数据没有获取到
关于@RequestParam、@Param、@PathVariable三个注解接收数据的方法(下面这个链接可以参考):
https://www.cnblogs.com/helloworld6379/p/9501943.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/114571.html