码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-05-12 15:54:29      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:

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

表单提交代码如下:


<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一直,这样便解决了问题。

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

标签:

原文地址:http://blog.csdn.net/a693490554/article/details/51361001

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!