返回值

SpringMVC返回类型

纵然是瞬间 提交于 2019-12-04 04:14:29
7.SpringMVC的返回值类型和参数传递 1 、 SpringMVC 的返回值类型 (1) ModelAndView 返回值类型:    1.1 当返回为 null 时,页面不跳转。    1.2 当返回值没有指定视图名时,默认使用请求名作为视图名进行跳转。    1.3 当返回值指定了视图名,程序会按照视图名跳转。 /*添加*/ @RequestMapping("/getSale") public ModelAndView addSale(Sale sale,HttpServletRequest request,ModelAndView mv){ if (sale!=null) { Double totalPrice = sale.getPrice() * sale.getQuantity(); sale.setTotalPrice(totalPrice); sale.setSaleDate(new Date()); Users user = (Users) request.getSession().getAttribute("user"); sale.setUserId(user.getUid()); int i = userService.addSale(sale); if (i > 0) { mv.setViewName("saleList"); } else { mv

Java中常见数据结构:Java容器 Collection与map -底层如何实现

戏子无情 提交于 2019-12-04 03:53:35
1 :集合 2 Collection(单列集合) 3 List (有序,可重复) 4 ArrayList 5 底层数据结构是数组,查询快,增删慢 6 线程不安全,效率高 7 Vector 8 底层数据结构是数组,查询快,增删慢 9 线程安全,效率低 10 LinkedList 11 底层数据结构是链表,查询慢,增删快 12 线程不安全,效率高 13 Set (无序,唯一) 14 HashSet 15 底层数据结构是哈希表。 16 哈希表依赖两个方法:hashCode()和 equals () 17 执行顺序: 18 首先判断hashCode()值是否相同 19 是:继续执行 equals (),看其返回值 20 是 true :说明元素重复,不添加 21 是 false :就直接添加到集合 22 否:就直接添加到集合 23 最终: 24 自动生成hashCode()和 equals ()即可 25 26 LinkedHashSet 27 底层数据结构由链表和哈希表组成。 28 由链表保证元素有序。 29 由哈希表保证元素唯一。 30 TreeSet 31 底层数据结构是红黑树。(是一种自平衡的二叉树) 32 如何保证元素唯一性呢 ? 33 根据比较的返回值是否是 0 来决定 34 如何保证元素的排序呢 ? 35 两种方式 36 自然排序(元素具备比较性) 37

MVC方法返回值数据

眉间皱痕 提交于 2019-12-04 03:53:12
ModelAndView 的作用以及用法 使用 ModelAndView 类用来存储处理完后的结果数据,以及显示该数据的视图。从名字上看 ModelAndView 中的 Model 代表模型, View 代表视图,这个名字就很好地解释了该类的作用。业务处理器调用模型层处理完用户请求后,把结果数据存储在该类的 model 属性中,把要返回的视图信息存储在该类的 view 属性中,然后让该 ModelAndView 返回该 Spring MVC 框架。框架通过调用配置文件中定义的视图解析器,对该对象进行解析,最后把结果数据显示在指定的页面上。 具体作用: 1 、返回指定页面 ModelAndView 构造方法可以指定返回的页面名称, 也可以通过 setViewName() 方法跳转到指定的页面 , 2 、返回所需数值 使用 addObject() 设置需要返回的值, addObject() 有几个不同参数的方法,可以默认和指定返回对象的名字。 Objectl返回值类型; /*绑定下拉框*/ @RequestMapping("/prodectName") @ResponseBody public Object getprodectName(){ List<Product> products = userService.getproductName(); return products;

使用Optioanl优雅的处理空值

醉酒当歌 提交于 2019-12-04 03:48:56
业务中的空值 场景 存在一个UserSearchService用来提供用户查询的功能: public interface UserSearchService{ List listUser(); User get(Integer id); } 问题现场 对于面向对象语言来讲,抽象层级特别的重要。尤其是对接口的抽象,它在设计和开发中占很大的比重,我们在开发时希望尽量面向接口编程。 对于以上描述的接口方法来看,大概可以推断出可能它包含了以下两个含义: listUser(): 查询用户列表 get(Integer id): 查询单个用户 在所有的开发中,XP推崇的TDD模式可以很好的引导我们对接口的定义,所以我们将TDD作为开发代码的”推动者”。 对于以上的接口,当我们使用TDD进行测试用例先行时,发现了潜在的问题: listUser() 如果没有数据,那它是返回空集合还是null呢? get(Integer id) 如果没有这个对象,是抛异常还是返回null呢? 深入listUser研究 我们先来讨论listUser()这个接口,我经常看到如下实现: public List listUser(){ List userList = userListRepostity.selectByExample(new UserExample()); if(CollectionUtils.isEmpty

SpringMVC返回值类型

♀尐吖头ヾ 提交于 2019-12-04 03:30:56
ModelAndView 1 @RequestMapping (method=RequestMethod.GET) 2 public ModelAndView index(){ 3 ModelAndView modelAndView = new ModelAndView( "/user/index" ); 4 modelAndView.addObject( "xxx" , "xxx" ); 5 return modelAndView; 6 } 通过ModelAndView构造方法可以指定返回的页面名称,也可以通过setViewName()方法跳转到指定的页面 , 使用addObject()设置需要返回的值,addObject()有几个不同参数的方法,可以默认和指定返回对象的名字。 调用addObject()方法将值设置到一个名为ModelMap的类属性,ModelMap是LinkedHashMap的子类, 具体请看类。 1 @RequestMapping (method=RequestMethod.GET) 2 public ModelAndView index(){ 3 ModelAndView modelAndView = new ModelAndView(); 4 modelAndView.addObject( "xxx" , "xxx" ); 5 modelAndView

Spring MVC--------处理方法返回值的可选类型

只愿长相守 提交于 2019-12-04 02:18:15
对于Spring MVC处理方法支持支持一系列的返回方式: (1) ModelAndView (2) Model (3) ModelMap (4) Map (5) View (6) String (7) Void (8) Object 一, ModelAndView @RequestMapping("/threadRequest*") public ModelAndView threadRequest(){ ModelAndView mv=new ModelAndView(); mv.setViewName("index"); mv.addObject("user","王五"); return mv; } 通过ModelAndView构造方法可以指定返回的页面名称,也可以通过setViewName()方法跳转到指定的页面 , 使用addObject()设置需要返回的值,addObject()有几个不同参数的方法,可以默认和指定返回对象的名字。 调用addObject()方法将值设置到一个名为ModelMap的类属性,ModelMap是LinkedHashMap的子类, 二,Model Model是一个接口, 其实现类为ExtendedModelMap,继承了ModelMap类。 model.addAttribute("pojo", pojo); 三,ModelMap Model

Swift 5.X——函数

倖福魔咒の 提交于 2019-12-04 02:16:44
1.函数的定义 import UIKit /** 函数名:test1 参数类型:无 返回值类型:无 */ func test1(){ //函数体 } /** 函数名:test2 参数类型:无 返回值类型:Int */ func test2() -> Int{ //函数体 return 0 } /** 函数名:test3。计算两个数之和 参数类型:Int型*2 返回值类型:Int */ func test3(a:Int,b:Int) -> Int{ return a+b }    来源: https://www.cnblogs.com/yangyh26/p/11828127.html

SpringMVC方法的返回值类型和自动装配

爱⌒轻易说出口 提交于 2019-12-04 01:35:43
1、 void 类型作为返回值类型 /** * 如果方法写成了void就跟原来servlet含义是差不多 的 * json */ @RequestMapping("/firstRequest") public void firstRequest(HttpServletRequest request, HttpServletResponse response, HttpSession session) throws IOException { UserInfo info=new UserInfo(); info.setUserid(1); info.setUserName("李四"); /** * json格式传递 */ response.setCharacterEncoding("UTF-8"); String value= JSON.toJSONString(info); response.getWriter().write(value); } 代码实现 2 、String 类型作为返回值类型 /** * 返回值类型为String时,一般用于返回视图名称 * 1、当方法返回值为null时,默认将请求路径当做视图 forward:/jsp/index.jsp 如果说没有视图解析器,返回值为null携带数据只能用json * 2、当方法返回一个String的字符串时

Spring MVC方法的返回值类型

不问归期 提交于 2019-12-04 00:53:08
一,String类型作为返回值类型 返回值类型为String时,一般用于返回视图名称 1.当方法返回值为Null时,默认将请求路径当做视图 /jsp/thread/secondRequest.jsp 如果说没有试图解析器,如果返回值为Null携带数据只能用JSON 2.当方法返回一个String的字符串时,当字符串为逻辑视图名时只返回视图,如果要携带数据则使用request,session或者Json 如果要用Model或者ModelMap传递数据,那么Model或者ModelMap绝对是方法入参 3.当方法返回值加入forward的时候代表转发,如果写为redirect:xxxx代表重定向,不是返回视图了,但是不会这样做!!!!!! 乱码解决: 1.controller传递数据给页面,在RequestMapping当中指定produces="text/json;charset=utf-8" 2.Controller接收页面数据 使用编码过滤器 method代表请求方式 二,ModelAndView作为返回值类型 ModelAndView model是携带到页面的数据 View是视图 当返回为 null时,页面不跳转。 当返回值没有指定视图名时,默认使用请求名作为视图名进行跳转。 当返回值指定了视图名,程序会按照视图名跳转。 三,Object作为返回值类型 1

MVC方法的返回值即参数

☆樱花仙子☆ 提交于 2019-12-04 00:35:35
MVC方法返回值类型   ModelAndView返回值类型:     1.当返回为null时,页面不跳转。     2.当返回值没有指定视图名时,默认使用请求名作为视图名进行跳转。     3.当返回值指定了视图名,程序会按照视图名跳转。 /*添加*/ @RequestMapping("/getSale") public ModelAndView addSale(Sale sale,HttpServletRequest request,ModelAndView mv){ if (sale!=null) { Double totalPrice = sale.getPrice() * sale.getQuantity(); sale.setTotalPrice(totalPrice); sale.setSaleDate(new Date()); Users user = (Users) request.getSession().getAttribute("user"); sale.setUserId(user.getUid()); int i = userService.addSale(sale); if (i > 0) { mv.setViewName("saleList"); } else { mv.setViewName("prodectAdd"); } } return mv