springmvc前台向后台传值几种方式总结(从简单到复杂)

  

  

<强>控制器代码:

        @RequestMapping (“saysth.do”)   公共空白测试(int数){   }      

<强>表单代码:

        action=" saysth & lt;形式。做”方法=" post "比;   & lt;输入name=凹剖奔壑?" https://www.yisu.com/zixun/10 " type=" text "/比;   ……   & lt;/form>      

表单中输入的名称值和控制器的参数变量名保持一致,就能完成数据绑定,如果不一致可以使用@RequestParam注解。需要注意的是,如果控制器方法参数中定义的是基本数据类型,但是从页面提交过来的数据为零或者”的话,会出现数据转换的异常。

  

也就是必须保证表单传递过来的数据不能为零或“”,所以,在开发过程中,对可能为空的数据,最好将参数数据类型定义成包装类型,具体参见下面的例子。

  

  

<强>控制器代码:

        @RequestMapping (“saysth.do”)   公共空白测试(整数数){   }      

<强>表单代码:

        action=" saysth & lt;形式。做”方法=" post "比;   & lt;输入name=凹剖奔壑?" https://www.yisu.com/zixun/10 " type=" text "/比;   ……   & lt;/form>      

和基本数据类型基本一样,不同之处在于,表单传递过来的数据可以零或为“”,以上面代码为例,如果表单中num为"或者表单中无num这个输入,那么,控制器方法参数中的num值则为零。

  

  

<强>模型代码:

        公开课用户{   私人字符串firstName;   私人字符串姓;      省略集,得到方法   }      

<强>控制器代码:

        @RequestMapping (“saysth.do”)   公共空白测试(用户用户){   }      

<强>表单代码:

        action=" saysth & lt;形式。做”方法=" post "比;   输入name=& lt;“firstName”价值=" https://www.yisu.com/zixun/张”类型=拔谋尽?比;   & lt;输入name="姓" value=" https://www.yisu.com/zixun/"三类型=拔谋尽?比;   ……   & lt;/form>      

非常简单,只需将对象的属性名和输入的名称值一一匹配即可。

  

  

<强>模型代码:

        公开课ContactInfo {   私人字符串电话;   私人字符串地址;      省略集,得到的      }      公开课用户{   私人字符串firstName;   私人字符串姓;   私人ContactInfo ContactInfo;      省略集,得到的      }   之前      

<强>控制器代码:

        @RequestMapping (“saysth.do”)   公共空白测试(用户用户){   System.out.println (user.getFirstName ());   System.out.println (user.getLastName ());   .getTel System.out.println (user.getContactInfo () ());   .getAddress System.out.println (user.getContactInfo () ());   }      

<强>表单代码:

        action=" saysth & lt;形式。做”方法=" post "比;   & lt;输入name=癴irstName”价值=" https://www.yisu.com/zixun/张"/祝辞& lt; br>   & lt;输入name="姓" value=" https://www.yisu.com/zixun/"三/祝辞& lt; br>   输入name=" contactInfo & lt;。电话“价值=" https://www.yisu.com/zixun/13809908909 "/祝辞& lt; br>   输入name=" contactInfo & lt;。解决“价值=" https://www.yisu.com/zixun/北京海淀”/祝辞& lt; br>   & lt;输入类型="提交" value=" https://www.yisu.com/zixun/Save "/比;   & lt;/form>      

用户对象中有ContactInfo属性,控制器中的代码和第第三点说的一致,但是,在表单代码中,需要使用“属性名(对象类型的属性)。属性名”来命名输入的名字。

  

  

列表需要绑定在对象上,而不能直接写在控制器方法的参数中。

  

<强>模型代码:

        公开课用户{   私人字符串firstName;   私人字符串姓;   省略集,得到的      }      公开课UserListForm {   私人List用户;      公共Listgetuser () {   返回用户;   }      公共空间setUsers (List用户){   这一点。用户=用户;   }      }   

springmvc前台向后台传值几种方式总结(从简单到复杂)