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

个人摄影网站源码黑彩网站建设

个人摄影网站源码,黑彩网站建设,thinkphp 网站模版,哪个网站能在家做兼职文章目录 参数绑定默认支持的参数类型参数绑定使用要求简单类型RequestParam注解 绑定POJO类型绑定集合或者数组类型 参数绑定示例JSP代码Controller代码PO代码 自定义日期参数绑定Converter代码Converter配置 文件类型参数绑定加入依赖包上传页面配置Multipart解析器Controlle… 文章目录 参数绑定默认支持的参数类型参数绑定使用要求简单类型RequestParam注解 绑定POJO类型绑定集合或者数组类型 参数绑定示例JSP代码Controller代码PO代码 自定义日期参数绑定Converter代码Converter配置 文件类型参数绑定加入依赖包上传页面配置Multipart解析器Controller类代码 参数绑定 什么是参数绑定 就是将请求参数串中的value值获取到之后再进行类型转换然后将转换后的值赋值给Controller 类中方法的形参这个过程就是参数绑定。 总结参数绑定需要两步 –类型转换请求中的String类型值—Controller各种数据类型的方法形参 –赋值操作将转换之后的值赋值给Controller方法形参 请求参数格式 默认是key/value格式比如 http://XXXXX?id1type301 请求参数值的数据类型 都是String类型的各种值 请求参数值要绑定的目标类型 Controller类中的方法参数比如简单类型、POJO类型、集合类型等 SpringMVC内置的参数解析组件 默认内置了24种参数解析组件ArgumentResolver 默认支持的参数类型 Controller方法形参中可以随时添加如下类型的参数Servlet API支持处理适配器会自动识别并进行赋值 HttpServletRequest 通过 request 对象获取请求信息 HttpServletResponse 通过 response 处理响应信息 HttpSession 通过 session 对象得到 session 中存放的对象 InputStream、OutputStreamReader、WriterModel/ModelMap ModelMap 继承自 LinkedHashMap Model是一个接口它们的底层实现都是同一个类 BindingAwareModelMap 作用就是向页面传递数据相当于 Request 的作用如下 model.addAttribute(msg, “测试springmvc”);参数绑定使用要求 简单类型 直接绑定 http请求参数的【key】和controller方法的【形参名称】一致 注解绑定 请求参数的【key】和controller方法的【形参名称】不一致时需要使用【RequestParam】注解才能将请求参数绑定成功。 RequestParam注解 value 参数名字即入参的请求参数名字如value“itemid”表示请求的参数中的名字为itemid的参数的值将传入 required 是否必须默认是true表示请求中一定要有相应的参数否则将报 TTP Status 400 - Required Integer parameter ‘XXXX’ is not present defaultValue 默认值表示如果请求中没有同名参数时的默认值 绑定POJO类型 要求表单中【参数名称】和Controller方法中的【POJO形参的属性名称】保持一致。 绑定集合或者数组类型 简单类型数组 通过HTTP请求批量传递简单类型数据的情况Controller方法中可以用String[]或者pojo的String[]属性接收两种方式任选其一但是不能使用List集合接收。 POJO类型集合或者数组 批量传递的请求参数最终要使用List来接收那么这个List必须放在另一个POJO类中。 参数绑定示例 JSP代码 % page languagejava contentTypetext/html; charsetUTF-8 pageEncodingUTF-8% !DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd html head meta http-equivContent-Type contenttext/html; charsetUTF-8 title参数绑定演示demo/title /head body !-- request请求的内容类型主要分为K/V类型、Multipart类型、JSON类型 -- !-- 将request请求参数绑定到简单类型基本类型和String类型方法参数 -- !-- 直接绑定 -- a href${pageContext.request.contextPath}/user/findUserById? id1namebingbing查询用户1/a !-- RequestParam注解绑定 -- a href${pageContext.request.contextPath}/user/findUserById2?uid1查询用 户2/a !-- 将request请求参数绑定到POJO类型(简单POJO和包装POJO的)方法参数 -- form action${pageContext.request.contextPath}/user/saveUser methodpost 用户名称input typetext nameusernamebr / 用户性别input typetext namesexbr / 所属省份input typetext nameaddress.provinceNamebr / 所属城市input typetext nameaddress.cityNamebr / input typesubmit value保存 /form !-- 将request请求参数绑定到[元素是简单类型的集合或数组]参数 -- !-- 使用数组接收 -- a href${pageContext.request.contextPath}/user/findUserByIds? id1id2id3根据ID批量删除用户/a !-- 使用List接收错误示例 -- a href${pageContext.request.contextPath}/user/findUserByIds2? id1id2id3根据ID批量删除用户/a !-- 使用Bean的List属性接收 -- a href${pageContext.request.contextPath}/user/findUserByIds3? uid1uid2uid3根据ID批量删除用户/a !-- 将request请求参数绑定到[元素是POJO类型的List集合或Map集合]参数 -- form action${pageContext.request.contextPath}/user/updateUser methodpost 用户名称input typetext nameusernamebr / 用户性别input typetext namesexbr / !-- itemList[集合下标]集合下标必须从0开始 -- !-- 辅助理解先将name属性封装到一个Item对象中再将该Item对象放入itemList集合的 指定下标处 -- 购买商品1名称input typetext nameitemList[0].namebr / 购买商品1价格input typetext nameitemList[0].pricebr / 购买商品2名称input typetext nameitemList[1].namebr / 购买商品2价格input typetext nameitemList[1].pricebr / !-- itemMap[item3]其中的item3、item4就是Map集合的key -- !-- 辅助理解先将name属性封装到一个Item对象中再将该Item对象作为value放入 itemMap集合的指定key处 -- 购买商品3名称input typetext nameitemMap[item3].namebr / 购买商品3价格input typetext nameitemMap[item3].pricebr / 购买商品4名称input typetext nameitemMap[item4].namebr / 购买商品4价格input typetext nameitemMap[item4].pricebr / input typesubmit value保存 /form !-- 将request请求参数绑定到Date类型方法参数 -- !-- 请求参数是【年月日】 格式 -- a href${pageContext.request.contextPath}/user/deleteUser?birthday2018- 01-01根据日期删除用户(String)/a !-- 请求参数是【年月日 时分秒】 格式 -- a href${pageContext.request.contextPath}/user/deleteUser2?birthday2018- 01-01 12:10:33根据日期删除用户(Date)/a !-- 文件类型参数绑定 -- form action${pageContext.request.contextPath}/fileupload methodpost enctypemultipart/form-data 图片input typefile nameuploadFile /br / input typesubmit value上传 / /form /body /html Controller代码 /** * 用来学习参数绑定 * */ RequestMapping(user) Controller public class UserController { RequestMapping(findUserById) public String findUserById(Integer id,Model model,HttpServletRequest request) { model.addAttribute(msg, 直接参数绑定接收到的参数id); model.addAttribute(msg, 通过Request getParameter参数接收到的参 数request.getParameter(id)); return success; } // RequestParam可以理解为request.getParameter(参数key) RequestMapping(findUserById2) public String findUserById2(RequestParam(uid) Integer id,Model model) { model.addAttribute(msg, 接收到的参数id); return success; } RequestMapping(saveUser) public String saveUser(User user,Model model) { model.addAttribute(msg, 接收到的参数user.toString()); return success; } RequestMapping(deleteUser) public String deleteUser(String birthday,Model model) { model.addAttribute(msg, 接收到的参数birthday); return success; } RequestMapping(deleteUser2) public String deleteUser2(Date birthday,Model model) { model.addAttribute(msg, 接收到的参数birthday); return success; } RequestMapping(findUserByIds) public String findUserByIds(Integer[] id,Model model) { model.addAttribute(msg, 接收到的参数id); return success; } RequestMapping(findUserByIds2) public String findUserByIds2(ListInteger id,Model model) { model.addAttribute(msg, 接收到的参数id); return success; } RequestMapping(findUserByIds3) public String findUserByIds3(User user,Model model) { model.addAttribute(msg, 接收到的参数user.getUid()); return success; } RequestMapping(updateUser) public String updateUser(User user,Model model) { model.addAttribute(msg, 接收到的参数user.getUid()); return success; } } PO代码 public class User { private int id; private String username; private Date birthday; private String sex; // 演示包装POJO参数绑定 private Address address; // 演示批量简单类型参数接收 private ListInteger uid new ArrayList(); // 将request请求参数绑定到[元素是POJO类型的List集合]参数 private ListItem itemList new ArrayList(); // 将request请求参数绑定到[元素是POJO类型的Map集合]参数 private MapString, Item itemMap new HashMap(); //setter/getter方法 } 自定义日期参数绑定 对于springmvc无法解析的参数绑定类型比如[年月日时分秒格式的日期]绑定到Date类型会报错此时需 要自定义[参数转换器]进行参数绑定。 Converter代码 public class DateConverter implements ConverterString, Date { Override public Date convert(String source) { SimpleDateFormat simpleDateFormat new SimpleDateFormat(yyyy-MM-dd); try { return simpleDateFormat.parse(source); } catch (ParseException e) { e.printStackTrace(); } return null; } } Converter配置 !-- 加载注解驱动 -- mvc:annotation-driven conversion-serviceconversionService/ !-- 转换器配置 -- bean idconversionService classorg.springframework.format.support.FormattingConversionServiceFactoryBeanproperty nameconverters set bean classcom.ssm.controller.converter.DateConverter/ /set /property /bean 文件类型参数绑定 SpringMVC 文件上传的实现是由 commons-fileupload 这个第三方jar包实现的。 加入依赖包 dependency groupIdcommons-fileupload/groupId artifactIdcommons-fileupload/artifactId version1.3.1/version /dependency 上传页面 JSP中的form表单需要指定enctype”multipart/form-data” 配置Multipart解析器 在 springmvc.xml 中配置 multipart 类型解析器 !-- multipart类型解析器文件上传 -- bean idmultipartResolver classorg.springframework.web.multipart.commons.CommonsMultipartResolver !-- 上传文件的最大尺寸 5M-- property namemaxUploadSize value5242880/ /beanController类代码 RequestMapping(fileupload) public String findUserById(MultipartFile uploadFile) throws Exception { // 编写文件上传逻辑mvc模式和三层结构模式 // 三层模式表现层controller、action、业务层service、biz、持久层dao、 mapper // MVC模式主要就是来解决表现层的问题的原始的表现层是使用Servlet编写即编写业务逻 辑又编写视图展示 if (uploadFile ! null) { System.out.println(uploadFile.getOriginalFilename()); // 原始图片名称 String originalFilename uploadFile.getOriginalFilename(); // 如果没有图片名称则上传不成功 if (originalFilename ! null originalFilename.length() 0) { // 存放图片的物理路径 String picPath E:\\; // 获取上传文件的扩展名 String extName originalFilename.substring(originalFilename.lastIndexOf(.)); // 新文件的名称 String newFileName UUID.randomUUID() extName; // 新的文件 File newFile new File(picPath newFileName); // 把上传的文件保存成一个新的文件 uploadFile.transferTo(newFile); // 同时需要把新的文件名更新到数据库中 } } return 文件上传成功; }
http://www.pierceye.com/news/687355/

相关文章:

  • 竞价页面网站做优化广告商对接平台
  • 网站后台如何修改密码wordpress调整页面布局
  • 东莞热点网站建设莱州人才网
  • 线上渠道推广网站的优化哪个好
  • 群晖可以做网站服务器微信朋友圈怎么发链接那种网页怎么制作
  • wordpress 公司网站网站和公众号的区别
  • 数据库跟网站seo流程
  • 网站首页关键词设置网站的整体风格
  • wordpress源码站整站源码制作wordpress插件
  • 海口网站建设就q479185700上墙网站空间后台怎么进入
  • 四川电子有限公司 - 手机网站如何做网站家具导购
  • 网站经营性备案修改wordpress自带小工具
  • 网站怎么建设可以发图评论网站建设制作公
  • 做销售的网站设计公司是做什么的
  • 建设专业网站的利弊海淀区seo招聘信息
  • 吴江区住房与建设局网站网站开发怎么对接客户
  • frontpage2007网站建设网站开发需要redis
  • 国内做网站多少钱ui中有哪些做的好看的网站
  • 金湖建设工程质量监督网站网页设计 网站建设 哪个好
  • 适合做外链的网站梧州论坛红豆思辨
  • 永城网站设计公司wordpress 获取父分类
  • 网站开发语言是什么东莞营销网站建设价格
  • 外贸公司访问国外网站中学生做的网站有哪些方面
  • 南城网站建设公司信息wordpress怎样显示文章全部列表
  • 做推广什么网站便宜企业网站管理系统湖南岚鸿
  • 电影下载网站 怎么做flash翻页效果网站模板
  • 社交网站开发语言河北建设工程信息网首页
  • 上海营销型网站建设公司wordpress 自己做页面
  • 网站布局选择临淄信息网手机版
  • 怎样申请网站呢注册商标怎么注册商标