【day6】【错误日志】获取form表单传递的值给Controller (Controller无法无法获取前端form表单传过来的值,maven项目)

前言

先来看看怎么写的
首先这个是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";
    }
}

你只需要注意这儿的信息:
Controller中的信息
检查@RequestParam

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿,葱来了-C is coming

老板大气

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值