diff --git a/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-chartFactory.js b/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-chartFactory.js index 7d70af01..6ab91ac9 100644 --- a/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-chartFactory.js +++ b/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-chartFactory.js @@ -2278,6 +2278,38 @@ return "dataGearClientElement" + nextIdSeq; }; + + /** + * 将给定值按照HTML规范转义,如果不是字符串,直接返回原值。 + */ + chartFactory.escapeHtml = function(value) + { + if(typeof(value) != "string") + return value; + + var epn = ""; + + for(var i=0; i') + epn += '>'; + else if(c == '&') + epn += '&'; + else if(c == '"') + epn += '"'; + else if(c == '\'') + epn += '''; + else + epn += c; + } + + return epn; + }; + /** * 记录异常日志。 * diff --git a/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-chartSupport.js b/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-chartSupport.js index 17dcdd33..9b82d3e5 100644 --- a/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-chartSupport.js +++ b/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-chartSupport.js @@ -3665,7 +3665,7 @@ //单元格内容渲染函数 renderValue: function(value, type, row, meta) { - return value; + return chartFactory.escapeHtml(value); } }, diff --git a/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/analysis/dataSet/include/dataSet_form_js.ftl b/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/analysis/dataSet/include/dataSet_form_js.ftl index e7d1d7f9..c25cc7b0 100644 --- a/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/analysis/dataSet/include/dataSet_form_js.ftl +++ b/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/analysis/dataSet/include/dataSet_form_js.ftl @@ -792,7 +792,7 @@ po.previewOptions.url = "..."; var name = dataSetProperties[colIndex].name; if(setValue === undefined) - return row[name]; + return chartFactory.escapeHtml(row[name]); else row[name] = setValue; },