发表于: 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没有注入大部分跟注解有关

这些错误都碰到了 没有截图 按照相关思路都解决了

这个错误暂时还没有解决 太晚了明天解决

收获:今天主要是概念理解的不到位 写代码效率低 错误频发 

       不过理解更加的深入 对这些错误的处理也有了经验

       知道了日志写在传入参数后面 执行方法后面 传出参数前面


返回列表 返回列表
评论

    分享到