发表于: 2017-08-29 15:17:19
1 1037
今天完成的事情:继续学习了json
把相关的数据用@ResponseBody 把对象转成json字符串传出来
@RequestMapping(value = "/a/student/select/json", method = RequestMethod.POST)public @ResponseBody List<Category> contri(HttpServletRequest request, HttpServletResponse response, Model model, Integer id) { log.info("id"+id);
Category category = this.categoryService.get(id);
log.info("category"+vategory);
List<Category> list=new ArrayList<Category>();
list.add(category);log.info("list"+list);
return list;
}
或者传出jsp jsp页面如下
<json:object>
<json:array name="category" var="category">
<json:object>
<json:property name="name" value="${category.name}"/>
<json:property name="id" value="${category.id}" />
</json:object>
</json:array>
</json:object>
需要首先是把依赖配齐 json依赖比较多
<!-- json解析器 -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-lgpl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-lgpl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.31</version>
</dependency>
<dependency>
<groupId>3rdparty</groupId>
<artifactId>json-taglib</artifactId>
<version>0.4.1</version>
</dependency>
<!--jackson-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.7</version>
</dependency>
然后想要传出JSON字符串需要把json转换器配置在mvc配置文件里
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<!--json转换器-->
<ref bean="mappingJacksonHttpMessageConverter"/>
</list>
</property>
</bean>
<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
最后页面如下
这个是jsp页面的
这个是传回json字符串的
明天计划的事情:继续修改代码
遇到的问题:昨天遇到的url报红 是因为依赖没有成功导入这里0.4.1是红的 看不出来
<dependency>
<groupId>3rdparty</groupId>
<artifactId>json-taglib</artifactId>
<version>0.4.1</version>
</dependency>
这个依赖因为已经不更新了 maven官网上没有了 解决办法自己本地导入jar
首先网上下载 我这里下载到了E盘
然后在项目中执行mvn命令 将其导入本地仓库
mvn install:install-file -Dfile=E:\json-taglib-0.4.1.jar -DgroupId=3rdparty -DartifactId=json-tag-lib- -Dversion=0.4.1 -Dpackaging=jar
这里-D是一个默认的参数 file后面是地址 后面 就直接照着pom文件里来写 执行成功 就ok了
使用json格式的时候 最后把对象用一个list包裹起来 否则最后报错类型不对
以上
缺少某个类 应该是配置文件jar导入的问题
404基本就是路径错误 500 是服务器问题 空指针异常是bean没有注入大部分跟注解有关
这些错误都碰到了 没有截图 按照相关思路都解决了
这个错误暂时还没有解决 太晚了明天解决
收获:今天主要是概念理解的不到位 写代码效率低 错误频发
不过理解更加的深入 对这些错误的处理也有了经验
知道了日志写在传入参数后面 执行方法后面 传出参数前面
评论