ABAP

IF_HTTP_UTILITY~ESCAPE_URL

JavaScript

开源的sanitizer库,Google搞的。

https://www.npmjs.com/package/sanitizer
sanitizer.escape(‘your dirty string’);
用于C4C:

在Java里使用这个JS library:

public class CajaSanitiser {private final ScriptEngine engine;private final Bindings bindings;public CajaSanitiser() throws IOException, ScriptException {this.engine = new ScriptEngineManager().getEngineByName("js");this.bindings = engine.getBindings(ScriptContext.ENGINE_SCOPE);String scriptName = "com/google/caja/plugin/html-css-sanitizer-minified.js";try (BufferedReader reader = getReader(scriptName)) {engine.eval(reader);}String identity = "function identity(value) {return value;}";engine.eval(identity);}private BufferedReader getReader(String name) {return new BufferedReader(new InputStreamReader(getClass().getClassLoader().getResourceAsStream(name)));}public String sanitise(String htmlSource) throws ScriptException {bindings.put("src", htmlSource);// You can use other functions beside 'identity' if you// want to transform the html.// See https://code.google.com/p/google-caja/wiki/JsHtmlSanitizerreturn (String) engine.eval("html_sanitize(src, identity, identity)");}public static void main(String[] args) throws Exception {CajaSanitiser sanitiser = new CajaSanitiser();String source = "<html>\n" +"<head>\n" +"<style>\n" +"h1 {color:blue;}\n" +"</style>\n" +"</head>\n" +"<body>\n" +"<h1>A heading</h1>\n" +"</body>\n" +"</html>";System.out.println("Original HTML with CSS:");System.out.println(source);System.out.println();System.out.println("Sanitised HTML:");System.out.println(sanitiser.sanitise(source));}
}

Maven dependency:

<dependencies><dependency><groupId>caja</groupId><artifactId>caja</artifactId><version>r5127</version></dependency>
</dependencies>

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

escape in ABAP and JavaScript相关推荐

  1. 使用ABAP和JavaScript代码生成PDF文件的几种方式

    ABAP 方法1:使用ABAP + Adobe Lifecycle Enterprise Service 详细步骤参考我的博客Convert word document into PDF via Ad ...

  2. 使用 JavaScript 上传 PDF 和 Excel 等二进制文件到 ABAP 服务器并进行解析

    这是 Jerry 2021 年的第 71 篇文章,也是汪子熙公众号总共第 348 篇原创文章. Jerry 之前发布过一篇文章 不使用任何框架,手写纯 JavaScript 实现上传本地文件到 ABA ...

  3. ABAP, Java和JavaScript三种语言的比较

    写这个系列的初衷是SAP Chengdu office有越来越多的应届毕业生加入,这些新同事通过在大学的专业学习,具备了Java和JavaScript背景,但是进入SAP之后大家觉得ABAP没有Jav ...

  4. Jerry的ABAP, Java和JavaScript乱炖

    写这个系列的初衷是SAP Chengdu office有越来越多的应届毕业生加入,这些新同事通过在大学的专业学习,具备了Java和JavaScript背景,但是进入SAP之后大家觉得ABAP没有Jav ...

  5. Javascript escape()函数

    JavaScript escape() 返回经过重新编码过的字符串.转自Vnde.cn escape()格式 escape(String) escape()参数 String 必填.String 对象 ...

  6. javascript之url转义escape()、encodeURI()和decodeURI()

    我们可以知道:escape()除了 ASCII 字母.数字和特定的符号外,对传进来的字符串全部进行转义编码,因此如果想对URL编码,最好不要使用此方法.而encodeURI() 用于编码整个URI,因 ...

  7. escape()、encodeURI()、encodeURIComponent()区别详解

    JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decod ...

  8. 浅谈Java和SAP ABAP的静态代理和动态代理,以及ABAP面向切面编程的尝试

    文章目录 Java的静态代理 静态代理的优缺点 ABAP的静态代理 Spring AOP的动态代理 JDK动态代理的优缺点 CGLIB动态代理的优缺点 ABAP CGLIB的模拟实现 ABAP Pre ...

  9. js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解

    1 escape()函数 定义和用法escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串. 语法escape(string) 参数 描述string 必需.要被转义或编码的 ...

最新文章

  1. 第二十五章 面向对象------封装、内置函数、反射、动态导入
  2. ubuntu 无法进入startx_Ubuntu无法进入图形化界面(报错/dev/sda1:clean的解决)
  3. kdj买卖指标公式源码_翔博精选指标KDJ买卖点提示(通达信公式 副图 测试图)...
  4. 使用drawio进行画图真的很方便(WEB版/Chrome APP版/桌面版)
  5. 1707: [Usaco2007 Nov]tanning分配防晒霜
  6. Head First Java学习笔记(2):类与对象
  7. 使用Profiler Blocked Process Report Alert 监控数据库Blocking
  8. magento中某个商店实现部分样式
  9. 微型计算机安装调试维修中级题库,调试维修工中级题库(答案).doc
  10. 通过软考高项的艰辛历程
  11. 人工智能对智能建筑有哪些影响,智能建筑发展存在哪些问题?
  12. 富邦速配民营银行管理层动荡浪潮之下,振兴银行再迎新帅
  13. 【ToyDB-Rust】超详细介绍
  14. 朋友圈点赞、发红包 测试用例的设计点
  15. 16G内存手机的福音,微信小程序也能建共享相册啦
  16. vue-cli项目配置文件分析
  17. ros msg文件数组定义与使用
  18. oracle reorg的意义,Oracle Reorg 的形式与相关的script - 2016-02-26
  19. Dear Santa Claus圣诞老人创意字体 for mac
  20. lanproxy使用

热门文章

  1. C#中的变量、常量、数据类型
  2. 《HTTP 权威指南》笔记:第十四章 安全 HTTP
  3. 【洛谷P4124】[CQOI2016]手机号码
  4. php数组函数(分类基本数组函数,栈函数,队列)
  5. Echarts 自定义数据视图
  6. T-SQL with as 关键字
  7. Struts Web应用程序开发步骤
  8. 28个经过重新设计的著名博客案例
  9. Cannot run program /opt/CI/android-sdk-linux/build-tools/26.0.0/aapt: error=13, Permission denied
  10. mysql 5.7.15 union order by 子查询排序不生效