【弄nèng - Springboot】Springboot2整合Activiti Modeler 保存模型报错(前言中不允许有内容)

文章目录

    • 1. 错误信息
    • 2. 原因
    • 3. 解决办法

使用Activiti流程器点击保存模型报如下错误:

1. 错误信息

Caused by: org.apache.batik.transcoder.TranscoderException: null
Enclosed Exception:
前言中不允许有内容。
	at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:136)
	at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:156)
	at com.it.cloud.modules.activiti.controller.ActManageController.saveModel(ActManageController.java:119)
	... 79 common frames omitted

2. 原因

后台调试发现svg_xml参数获取到为空字符串,里面还一堆换行符什么的,不是前台传递的xml 字符串。
原因是项目中使用 XssFilter过滤掉了html样式。

3. 解决办法

得到原始请求参数

	HttpServletRequest orgRequest = XssHttpServletRequestWrapper.getOrgRequest(request);
	// 获取正常参数
    // String content = orgRequest.getParameter("svg_xml ");
    // 因为添加了html过滤,直接通过参数得不到html符号(XssFilter)
    // 获取FormData参数
    svgXml = orgRequest.getParameterMap().get("svg_xml")[0];

你可能感兴趣的:(总结经验,activiti)