zoukankan      html  css  js  c++  java
  • SSH框架中json传递失败

    错误截图

    这个错误乍一看无从下手,报的都是框架底层的错误,于是查阅资料得到了答案。

    错误原因:struts会将action中定义的一些变量序列化转换成json格式,需要调用对象的一系列get方法,并调用以上两个变量的成员变量的get方法将其内容组成json格式。但是在序列化实例时时,由于其成员变量中含有含有接口或其他复杂类型,所以会报错。

    错误解决

    方法一:修改配置文件:指定序列化的根节点,这样data就是从status的根节点以下的数据,不需要用data.status

    1 <package name="option" namespace="/" extends="json-default">
    2     <action name="option_*" class="org.guangsoft.action.OptionAction" method="{1}">
    3         <result name="success">/WEB-INF/jsp/option.jsp</result>
    4         <result name="error">/index.jsp</result>
    5         <result name="vote" type="json">
    6             <param name="root">status</param>
    7         </result>
    8     </action>
    9 </package>

    方法二:修改java代码:让编译器不对接口或复杂类型序列化

    1 @JSON(serialize=false)
    2 public AuthorityService getAuthorityService() 
    3 {
    4      return authorityService;
    5 }

    方法三:通过配置文件的excude和include来指定需要序列化的对象,原理同方法二

     

  • 相关阅读:
    数据结构之队列
    设计模式之策略模式的使用
    搭建一个高可用的redis环境
    Linux遗忘命令
    重温几种排序算法之希尔排序、归并排序、快速排序
    HashMap的简单实现
    Java GC基础
    2016年年终总结
    Shell 备忘录
    Openstack Grizzily 单节点测试机安装( All In One CentOS/RHEL)
  • 原文地址:https://www.cnblogs.com/guanghe/p/6102136.html
Copyright © 2011-2022 走看看