2016-11-03 63 views
1

我正在ServiceNow中創建一個前端門戶,它需要使用g:evaluate來調用不同表中的變量。ServiceNow存儲和調用滑動腳本

例如:

<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

是的,你應該可以通過使用UI Macros來做到這一點。

您可以創建一個UI宏稱爲set_user_name_var象下面這樣:

<?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" /> 

而f從這一點開始,jvar_user_name果凍變量將存在並且能夠被訪問。

例如:

<?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> 
+1

驚人的,它的工作原理,將是有益的超前進。謝謝! – Dave

+0

嗨迪倫,我的團隊現在在一個範圍內的應用程序工作,我試圖複製上面,但我似乎無法得到調用工作。這在範圍內的環境中有什麼不同嗎? – Dave