如何解决在XPages中使用jsSha
我正在尝试在XPage中使用jsSHA JavaScript库。
var shaObj =新的jsSHA('SHA-1','HEX');给出运行时错误:[ReferenceError]'jsSHA'未找到
<xp:this.resources>
<!-- temporary redefine define.amd object (Dojo AMD loader) -->
<xp:script clientSide="true" type="text/javascript">
<xp:this.contents><![CDATA[${javascript:"if (typeof define === 'function' && define.amd) {if(define.amd.vendor =='dojotoolkit.org'){define._amd = define.amd;delete define.amd;}}";}]]></xp:this.contents>
</xp:script>
<xp:script src="sha.js" clientSide="true"></xp:script>
<xp:script src="https://code.jquery.com/jquery-3.5.1.min.js" clientSide="true"></xp:script>
<!-- restore define.amd object (Dojo AMD loader) -->
<xp:script clientSide="true">
<xp:this.contents><![CDATA[${javascript:"if (typeof define === 'function' && define._amd) {define.amd = define._amd; delete define._amd;}"}]]></xp:this.contents>
</xp:script>
</xp:this.resources>
<xp:text escape="true" id="computedField1">
<xp:this.value><![CDATA[#{javascript:var shaObj = new jsSHA('SHA-1','HEX');
return shaObj ;
}]]></xp:this.value></xp:text>
当我删除计算字段时,可以看到sha.js和jquery已加载
我从https://caligatio.github.io/jsSHA/sha.js那里得到了sha文件
解决方法
您正在xp:text控件中使用服务器端JS。 jsSHA是客户端JS库。
我建议您使用Apache Commons Codec Java库将您的SHA1摘要生成为十六进制字符串值:
DigestUtils.sha1Hex(string);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。