首先是控制器的配置:
1 package cn.cuibusi.ssm.controller; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 import org.springframework.stereotype.Controller; 6 import org.springframework.web.bind.annotation.RequestMapping; 7 import org.springframework.web.servlet.ModelAndView; 8 import cn.cuibusi.ssm.po.Items; 9 10 //他是一个控制器 11 @Controller 12 public class ItemsController2 { 13 //将方法和url进行映射,一个方法对应一个url 14 @RequestMapping("/queryItems3") 15 public ModelAndView queryItems3() throws Exception{ 16 //调用service查找 数据库,查询商品列表,这里使用静态数据模拟 17 List<Items> itemsList = new ArrayList<Items>(); 18 //向list中填充静态数据 19 Items items_1 = new Items(); 20 items_1.setName("联想笔记本"); 21 items_1.setPrice(6000f); 22 items_1.setDetail("ThinkPad T430 联想笔记本电脑!"); 23 Items items_2 = new Items(); 24 items_2.setName("苹果手机"); 25 items_2.setPrice(5000f); 26 items_2.setDetail("iphone6苹果手机!"); 27 itemsList.add(items_1); 28 itemsList.add(items_2); 29 //返回ModelAndView 30 ModelAndView modelAndView = new ModelAndView(); 31 //相当 于request的setAttribut,在jsp页面中通过itemsList取数据 32 modelAndView.addObject("itemsList", itemsList); 33 //指定视图 34 modelAndView.setViewName("/WEB-INF/jsp/items/itemsList.jsp"); 35 return modelAndView; 36 } 37 }
然后是注解的springmvc配置文件的配置 springmvc.xml:
1 <!-- 对于注解的Handler可以单个配置 2 实际开发中建议使用组件扫描 3 --> 4 <!-- <bean class="cn.cuibusi.ssm.controller.ItemsController2" /> --> 5 <!-- 可以扫描controller、service、... 6 这里让扫描controller,指定controller的包 7 --> 8 <context:component-scan base-package="cn.cuibusi.ssm.controller"></context:component-scan>
这样看起来没有任何的问题,然而一执行
what?这是什么鬼错误?而我用上面一种直接指定类的方式的时候没有任何的问题
。。。。。。百思不得解
普天同庆,解决办法已找到:原因是我的springmvc配置版本过低或者理解为我的jdk版本过高
解决办法就是把springmvc的的jar包替换为4.0版本以上的 或者 把jdk降到1.7。