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

唐山医疗网站建设小程序主题wordpress

唐山医疗网站建设,小程序主题wordpress,jsp鲜花网站开发源代码,网站文件上传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.yutouwan.com/news/68261/

相关文章:

  • 百度糯米网站怎么做网站页面一般以多大标准做合适
  • 饰品网站建设策划书英文网站建设解决方案
  • 重庆网站搜索推广网站怎么做不违法
  • 金华专业做网站定做app需要多少钱
  • 中交建设集团网站分公司企业公众号运营方案
  • 好的企业官网建设公司外贸网站 seo
  • 网站开发范围说明书最新房地产新闻
  • 开源网站推广昆山网站优化
  • 网站建设需要ui吗全网是哪些平台
  • 哈尔滨 建网站叮当app制作平台登录
  • 做云购网站株洲房地产信息网
  • 教学网站建设 效益安卓优化大师官方版本下载
  • seo网站排名优化公司宁波seo推广公司排名
  • 网站的成本国家企业公示系统
  • 中核华泰建设有限公司网站槐荫区网站建设
  • 网站开发 定制 多少 钱电子政务与网站建设的经验
  • 中国建设银行贷款官网站网站开发长期合作
  • wordpress地址和站点地址错html5新手做的网页
  • 十大购物网站排名相关文章wordpress
  • 大淘客网站上的推广怎么做wdcp搭建网站教程
  • 网站做用户记录网站优化公司服务
  • 湖北建设执业资格注册中心网站做旅游的网站有哪些
  • 网站开发研究背景傻瓜式建设网站的软件
  • 自助游网站开发分析报告做视频网站要什么软件
  • 做二手房怎找房源网站nginx 防御 wordpress 攻击
  • wordpress怎么开启多站点电商公司的网上设计
  • 手机适配网站百度推广投诉电话
  • 烟台中企动力提供网站建设宜春个人网站建设
  • 莆田网站制作企业面向搜索引擎网站建设
  • 耐克1网站建设的总体目标网站备案 视频