我在对话节点中使用IBM Watson Conversation service和插槽。在响应中,我想返回用槽收集的上下文变量的值。但是,我无法确定该变量是否存在,因为用户可能已取消输入过程,并且因为该变量是可选的。如何根据检查确定存在并采取行动?
使用此
<? $myVariable ?>
在变量不存在时给出错误。
答案 0 :(得分:3)
Conversation service uses Spring Expression Language (SpEL)处理其响应中的变量和条件。可以应用特殊检查。我从这个useful collection of use cases:
中取了示例"<? context.myVariable? 'Great. I have the following: '+context.myVariable+'.' :
'No information present' ?>"
您可以通过context
后跟变量名访问上下文变量。问号(?
)检查是否存在。在变量存在的情况下采取第一个响应,否则采用第二个响应。冒号(:
)分隔两个答案选项。
在上面的示例中,答案是&#34; Great. I have the following: VALUE
&#34;或&#34; No information present
&#34;。