spring mvc在注解开发下表单提交到不了Controller方法的解决手段

这个问题很诡异,不太懂为什么,但是知道如何解决,如果知道为什么的话希望能评论我下!

表单提交代码如下:


<form class="form clearfix" action="${website}register" method="post">
  <h1 class="title">智能码控门禁系统<span class="in">注册</span >/<a href="toLogin" class="out">登录</a></h1>
  <p class="float">
    <label for="name">
      <i class="fa fa-envelope"></i>邮箱
    </label>
    <input class="J_email" name="email" placeholder="邮箱地址" required autofocus />
    <span class="tips J_emailTip">邮箱输入错误</span>
  </p>
  <p class="float">
    <label for="tel">
      <i class="fa fa-phone"></i>手机
    </label>
    <input class="J_tel" name="tel" placeholder="手机号" required />
    <span class="tips J_telTip">手机号输入错误</span>
  </p>

 <input class="J_email" name="email" placeholder="邮箱地址" required autofocus />
关于这一行代码,如果需要在controller方法里面能获取到email参数的话   前端要写为name ="XXX" ,刚开始前端给我写的是type ="XXX" 结果发出请求的时候email不在参数列表里面。


从一开始表单提交的action的地址和后台controller里面方法的url地址就是一样的,但是就是到不了controller方法里面,这里要注意,前端已经定义了参数规则(即为必须输入) :

required
就是这个输入是不能为空的,刚开始测试的时候,我把方法里面的参数全部屏蔽了这样是肯定不能到方法里面的,之前的时候是带着参数的,也到不了方法里面,之前使用注解开发带的参数,如下:
 @RequestParam("name") String name

如果用注解开发的话想解决这类问题的话就要在@RequestParam里面加一个require的属性并设置为false,这样就可以进到方法里面了,但是这样问题就出现了,前端的话这个参数是必须输入的,但是后台的话这个参数咱们设置成的是可以不输入的,所以就有了前后台不一致的问题,因此还有一种改正的方法,就是不用注解,如下:

String name,String tel,String pass,String passSure
但是这样的话名称要和前台定义的name一直,这样便解决了问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值