zoukankan      html  css  js  c++  java
  • com.fasterxml.jackson.databind.JsonMappingException

    背景

    • 在搭建SSM整合activiti项目时,在查找activiti定义的流程模板时,前台不能够接受到ProcessDefinition这个对象。

    原因

    • ProcessDefinition是一个接口,在Spring MVC中使用Jackson将数据对象以Json格式传递给前台时,这个对象必须有无参构造函数,而ProcessDefinition没有。

    解决办法

    • 自己定义一个JavaBean,将ProcessDefinition的值赋值给JavaBean,将JavaBean以Json格式传递给前台。代码如下
      /**
         * 列出流程模板
         */
        @RequestMapping(value="processlist", method = RequestMethod.GET)
        public List<Process> processList() {
            RepositoryService repositoryService = processEngine.getRepositoryService();
            ProcessDefinitionQuery createProcessDefinitionQuery = repositoryService.createProcessDefinitionQuery();
            List<ProcessDefinition> list = createProcessDefinitionQuery.list();
            
            List<Process> processList=new ArrayList<Process>();
            
            for (ProcessDefinition listTemp: list) {
                Process process = new Process();
                
                process.setId(listTemp.getId());
                process.setName(listTemp.getName());
                
                processList.add(process);
            }
            
            return processList;
        }

    Process是自己定义的JavaBean。

  • 相关阅读:
    关于JavaScript文档对象
    关于JavaScript浏览器对象
    关于JavaScript事件与函数
    关于JavaScript基础知识
    关于CSS基础知识
    第七章:Hexadecimal, octal, ASCII, UTF8, Unicode, Runes
    没有 Cgroups,就没有 Docker
    Redis 文件事件
    Python 垃圾回收总结
    Docker Bridge 网络原理
  • 原文地址:https://www.cnblogs.com/zuiyue_jing/p/9197290.html
Copyright © 2011-2022 走看看