分类 技术相关 下的文章

org.springframework.web.util.HtmlUtils 可以实现HTML标签及转义字符之间的转换。

示例代码:


String s = HtmlUtils.htmlEscape("<div>hello world</div><p>&nbsp;</p>");  
System.out.println(s);  
String s2 = HtmlUtils.htmlUnescape(s);  
System.out.println(s2);  

转义后如图所示:
HTML编码转义输出如图所示

json对象直接作为参数在地址栏中会被阶段,在转发到其它应用中无法直接打开,当然将对象的各个属性分开拼接也可以传参,但是稍微麻烦,最简单的方法是通过Base64编码方式传参。

用JS进行Base64编码、解码

从IE10+浏览器开始,所有浏览器就原生提供了Base64编码、解码方法,不仅可以用于浏览器环境,Service Worker环境也可以使用。
方法名就是 atob 和 btoa ,具体语法如下:

window.btoa('hello world') // 编码"aGVsbG8gd29ybGQ="
window.atob("aGVsbG8gd29ybGQ=") // 解码"hello world"

使用开源的base64 js类库

https://links.jianshu.com/go?to=https://github.com/dankogai/js-base64
开源的base64.js ,使用很简单,浏览器引入该JS文件,然后Base64编码这样:

Base64.encode('hello world'); // 编码"aGVsbG8gd29ybGQ="
解码就调用 decode方法,如下:
Base64.decode("aGVsbG8gd29ybGQ="); // 解码'hello world'

方法: 写一个InitializingBean实现类,初始化后给Beetl设置共享变量即可,如下:

@Configuration
public class MyInitializingBean implements InitializingBean {

@Override
    public void afterPropertiesSet() {
            
        // 设置Beetl GroupTemplate,如果不设置,取上下文中唯一的GroupTemplate对象
        this.groupTemplate = BeetlUtils.getResourceGroupTemplate();
    
        // 设置Beetl全局变量
        Map<String, Object> sharedVars = this.groupTemplate.getSharedVars();
        if (sharedVars == null){
            sharedVars = MapUtils.newHashMap(); 
        }
        sharedVars.put("你的全局变量名,如ctxStatic", '你的全局变量值如ctxPath/static');
        sharedVars.put("你的全局变量名2,如ctxStatic2", '你的全局变量值如ctxPath/static2');
        sharedVars.put("你的全局变量名3,如ctxStatic3", '你的全局变量值如ctxPath/static3');
        this.groupTemplate.setSharedVars(sharedVars);
        
    }
}

更多详见:
https://gitee.com/thinkgem/jeesite4/issues/IICBF

免责声明
本博客部分内容来自于互联网,不代表作者的观点和立场,如若侵犯到您的权益,请联系[email protected]。我们会在24小时内进行删除。