我正在 ServiceNow 中创建一个前端门户,它需要使用 g:evaluate 来调用来自不同表的变量。
例如:
<g:evaluate var="jvar_user_name">
var gr = new GlideRecord('sys_user');
gr.get('sys_id', gs.getUserID());
gr.first_name;
</g:evaluate>
有没有一种方法可以将这些东西存储在某个地方,然后根据需要调用它们,就像 JS 的 UI 脚本和 CSS 的样式表一样?如果是这样,我该怎么做?
谢谢!
最佳答案
是的,您应该可以使用 UI Macros 来做到这一点.
您可以创建一个名为 set_user_name_var 的 UI 宏,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<g:evaluate var="jvar_user_name">
var gr = new GlideRecord('sys_user');
gr.get('sys_id', gs.getUserID());
gr.first_name;
</g:evaluate>
</j:jelly>
然后在任何可以编写果冻代码的地方调用 UI 宏,如下所示:
<g:set_user_name_var />
或者:
<g:macro_invoke macro="set_user_name_var" />
从那时起,jvar_user_name jelly 变量将存在并能够被访问。
例如:
<?xml version="1.0" encoding="utf-8"?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<g:set_user_name_var />
${jvar_user_name}
</j:jelly>
关于html - ServiceNow 存储和调用滑动脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40412190/