ServiceNow存储和调用滑行脚本

时间:2016-11-03 22:19:29

标签: html css servicenow

我在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的样式表?如果是这样,我将如何做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:1)

是的,您应该可以使用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>