当前位置: 首页 > news >正文

邓州微网站建设wordpress 虚拟空间

邓州微网站建设,wordpress 虚拟空间,梧州论坛网,河南郑州最新消息今天前些天发现了一个巨牛的人工智能学习网站#xff0c;通俗易懂#xff0c;风趣幽默#xff0c;忍不住分享一下给大家。点击跳转到教程。 InitBinder用于在Controller中标注于方法#xff0c;表示为当前控制器注册一个属性编辑器或者其他#xff0c;只对当前的Controller有…前些天发现了一个巨牛的人工智能学习网站通俗易懂风趣幽默忍不住分享一下给大家。点击跳转到教程。 InitBinder用于在Controller中标注于方法表示为当前控制器注册一个属性编辑器或者其他只对当前的Controller有效。 在使用SpringMVC的时候经常会遇到表单中的日期字符串和JavaBean的Date类型的转换而SpringMVC默认不支持这个格式的转换需要手动配置自定义数据的绑定才能解决这个问题。 在需要日期转换的Controller中使用SpringMVC的注解initbinder和Spring自带的WebDateBinder类来操作。 WebDataBinder是用来绑定请求参数到指定的属性编辑器.  由前台传到controller里的值是String类型的当往Model里Set这个值的时候如果set的这个属性是个对象Spring就会去找到对应的editor进行转换然后再SET进去。 -----------------------------------我是分隔线----------------------------------- 一. 问题描述 一张表单中提交多个对象并在后台Controller 中精准的绑定。可对象中的参数名有的相同后台接收入参时无法像struts那样jsp表单中使用Object.Param形式对表单进行精准绑定入参struts2默认就是这种方案因为struts2采用了OGNL并通过栈根对象进行操作栈中默认有action实例所以无此问题。但 Struts用这种方式绑定入参牺牲了性能。 现在以前台表单提交两个对象为例。 User.java 和 Addr.java public class User implements Serializable{ String id; String name; //get..set.... } public class Addr implements Serializable{String id;String name;//set..get... } 前台JSP form action/test/test methodpostinput typetext nameuser.id valuehuo_user_idinput typetext nameuser.name valuehuo_user_nameinput typetext nameaddr.id valuehuo_addr_idinput typetext nameaddr.name valuehuo_addr_nameinput typesubmit value提交 /form 此时 springMVC 直接进行入参是不能接收到参数的。 二. 解决思路 用 InitBinder 注解作参数绑定。前台表单中name属性仍然使用Object.Param形式传入。 另一种解决思路扩展spring的HandlerMethodArgumentResolver以支持自定义的数据绑定方式。 InitBinder(user)public void initBinderUser(WebDataBinder binder) {binder.setFieldDefaultPrefix(user.);} InitBinder() 的value用于指定命令/表单属性或请求参数的名字符合该名字的将使用此处的DataBinder如我们的ModelAttribute(user1) User user1 将使用InitBinder(user1)指定的DataBinder绑定如果不指定value值那么所有的都将使用。 DataBinder.setFieldDefaultPrefix 是设置参数的前缀如我们的是user1.此处不能少了. 此方式的缺点 1、不支持Path variable的绑定如/test1/{user1.id}这种情况的绑定 2、不支持如集合/数组的绑定 三 问题解决 Controller RequestMapping(/test) public class TestController { // 绑定变量名字和属性参数封装进类InitBinder(user)public void initBinderUser(WebDataBinder binder) {binder.setFieldDefaultPrefix(user.);}// 绑定变量名字和属性参数封装进类InitBinder(addr)public void initBinderAddr(WebDataBinder binder) {binder.setFieldDefaultPrefix(addr.);}RequestMapping(/test)ResponseBodypublic MapString,Object test(HttpServletRequest request,ModelAttribute(user) User user,ModelAttribute(addr) Addr addr){MapString,Object mapnew HashMapString,Object();map.put(user, user);map.put(addr, addr);return map;} 就一个InitBinder 就可以解决了。 另外可以通过DataBinder完成如下几件事情 1、binder.setAllowedFields(id)   设置允许的字段比如我只想设置id那么可以调用这个方法那么其他属性会忽略2、binder.setDisallowedFields(id) 设置不允许的自动比如我不想设置id那么可以调用此方法这个属性将不设置3、binder.setRequiredFields() 表示哪些字段是必填的4、binder.setValidator() 设置自定义的验证器如果如JSR-303不适合可以使用这个。 完整例子   两个对象 public class User implements Serializable{ String id; String name; //get..set.... } public class Addr implements Serializable{String id;String name;//set..get... } jsp form action/test/test methodpostinput typetext nameuser.id valuehuo_user_idinput typetext nameuser.name valuehuo_user_nameinput typetext nameaddr.id valuehuo_addr_idinput typetext nameaddr.name valuehuo_addr_nameinput typesubmit value提交 /form Controller Controller RequestMapping(/test) public class TestController { // 绑定变量名字和属性参数封装进类InitBinder(user)public void initBinderUser(WebDataBinder binder) {binder.setFieldDefaultPrefix(user.);}// 绑定变量名字和属性参数封装进类InitBinder(addr)public void initBinderAddr(WebDataBinder binder) {binder.setFieldDefaultPrefix(addr.);}RequestMapping(/test)ResponseBodypublic MapString,Object test(HttpServletRequest request,ModelAttribute(user) User user,ModelAttribute(addr) Addr addr){MapString,Object mapnew HashMapString,Object();map.put(user, user);map.put(addr, addr);return map;} ---------------------  转自 https://blog.csdn.net/qq_24505127/article/details/54236583  https://blog.51cto.com/simplelife/1919597 另关于类型转换见另一文章 SpringMVC注解 initbinder 解决类型转换问题
http://www.pierceye.com/news/814311/

相关文章:

  • 怎么查看网站是用什么编程语言开发的品牌软文范文
  • 能够沟通业务的网站wordpress 主题 恢复
  • 动态域名做网站在线查询企业
  • 绍兴企业网站推广建设通是什么网站
  • 网站设计制作太原抖音seo怎么做的
  • 北京网站代理备案上海跨境电商网站开发公司排名
  • 您的网站未备案 或者原备案号被取消开发一个微信小程序多少钱
  • 如何用记事本做网站南宁做网站哪家好
  • 优秀网站首页百度账号怎么改名字
  • 杭州做网站排名软件碧桂园房地产最新消息
  • 上传网站空间天津专门做网站的公司
  • 无锡企业做网站大庆油田内网主页网址
  • 网站开发合同 下载山西正规网站建设报价公司
  • seo好的外贸网站怎么用wordpress建立本地网站
  • 网站备案号查询有名vi设计公司
  • 呼市做网站建设的公司哪家好易班班级网站建设展示PPT
  • 网站制作精品案例欣赏中国建设局网站首页
  • 几分钟做网站网站网格布局
  • 为企业做网站策划案网站建设 爱诚科技公司
  • 怎么把网站放到阿里云做网站外链需要多少钱
  • 南宁市网站建设公司给人做网站网站
  • 怎么查网站的备案号网站页面设计需求
  • 手机网站怎么做的好网页设计参考书籍
  • 网站建设和网络推广方案网站建设技术可行性分析
  • 免费建站网站自助建站的网站建站淘宝网站开始怎么做的
  • 旅游电网站建设目标公司注册成本
  • 建设婚恋网站基本功能有哪些毕业设计网页
  • 广州贸易网站杭州关键词推广优化方案
  • 怎么注册自己的网站wordpress静态设置
  • 网站收录有什么好处仿糗事百科wordpress