Form表单提交参数类型与后台实体参数类型的问题
来源:互联网 发布:icmo是tcp的哪个端口 编辑:程序博客网 时间:2024/06/01 07:42
在SpringMVC+Hibernate+Spring的框架下,Jsp页面的Form表单提交数据
1.肯定是以 key=val 的形式进行提交到后台
2.提交的key的类型是根据你的在Jsp页面标签的类型而定的
a.如果是用的
JSP:Form 表单的代码
<input type="text" id="showPicNum" name="showPicNum" maxlength="4"/>
后台ctrl层代码:
@RequestMapping("/addAdspace")public String addAdspace(@ModelAttribute AdspaceInfo adspace) throws Exception {adspaceService.addAdspace(adspace); return "redirect:/adspace/getAllAdspace";}
接收参数的AdspaceInfo类中的属性代码:
private byte showPicNum;
那么默认提交到后台的key 的类型就是String,而后接收的属性必须是String类型的才能接收,而你用来接受参数值的属性类型为Byte类型,相当于要将String类型的强转位byte类型的,在不知道具体传过来的参数是什么的时候,这个时候服务器一般不会做这种强转,报HTTP Status 400(BAD REQUEST) 的错误。
b.如果是用的
<select name="showPicNum"><option value="1">1<option value="2">2<option value="3">3</select>这个标签提交的,那么默认提交到后来的key的类型就是int。后台接收的属性可以使int,long,byte,String类型的。
---------------------------------------
如果
<select name="showPicNum"><option value="a">1<option value="b">2<option value="c">3</select>
这个时候后天接收的参数就必须是String类型的了,否则也会报HTTP Status 400 的错误。因为服务器不能把 String类型的a b c 解析为数字类型的。所以会报错。
所以一般在ssh框架的项目中,一般的数据流程都是 前台页面---> ctrl层 ----> service层,dao层---> 数据库。数据由前台页面传递到ctrl层的流程中,一般会多写一个vo类,vo类
里面存放要从前台接收的属性,一般属性的类型根据前台传递的属性定,不一定跟实体的属性的类型一致。如果真的要将前台传递过来的数据保存到数据库的时候,就可以在
service层,将封装在vo类里的数据通过getter方法取出数据在转换成相应的类型通过实体的setter方法封装到实体中,最后在保存到数据中。
- Form表单提交参数类型与后台实体参数类型的问题
- JFinal form表单提交请求参数的获取问题
- Jsp的form表单各种提交方式和后台请求参数读取
- form表单传参数,后台代码接收到的参数与预期不符
- ###Springmvc封装复杂表单数据:表单提交多个实体类的参数【对象类型参数,自动封装】name属性值不能重复。和实体类属性名一致
- extjs设置表单元素为disable后表单无法提交参数到后台的问题
- 怎么解决form表单中 disable属性不能提交的问题,form表单获得不了某个参数
- form 表单的action参数问题
- springMVC form表单提交---包含时间类型的数据
- springMVC form表单提交---包含时间类型的数据
- springMVC form表单提交---包含时间类型的数据
- form表单序列化提交处理当中的时间类型
- springMVC form表单提交---包含时间类型的数据
- springMVC form表单提交---包含时间类型的数据
- 用JS提交参数创建form表单在FireFox中遇到的问题
- 表单(form)的提交实现参数页面间的传递
- spring mvc 后台获取不到form提交的参数
- ajax 提交 form表单 ,后台执行两次的问题
- 高斯滤波理解
- Using the jQuery Validate Plugin with HTML5 Data Attribute Rules
- 微信公众平台开发入门教程
- 适配器模式
- iPhone、iPad强制关机
- Form表单提交参数类型与后台实体参数类型的问题
- 一个笨方法,获取wireshark抓包中的中文内容
- 好书推荐:《Google.Android开发入门与实战》
- 易语言保存组合框,和列表选择框数据到数据库
- Discuz! 7.0.0 URL 静态化的使用
- iOS中的多任务
- 字符串分割split()
- opensuse11---ambari安装
- STM32 中断实现的程序步骤