Jakarta 项目:可复用对话组件 (RDC) 标签库

版本:1.1 快照

目录

概述

JSP 2.0 可复用对话组件 (RDC) —— 一个用于创建 JSP 标签库的框架,旨在帮助快速开发语音和多模态应用程序。

服务器端生成 HTML 已被证明是为使用 Struts 等服务器端应用框架实现的视觉 Web 应用程序生成用户界面的有效方式。随着时间的推移,各种 JSP 标签库的出现,将 HTML 标记的细节抽象化,从而减少了生成 HTML 所需的工作量。RDC 项目的目标是,为语音应用程序实现 JSP 标签库在视觉 Web 应用程序领域已经取得的成就。

随着语音技术的成熟以及几年前 W3C VoiceXML 2.0 REC 中定义的稳定且健壮的语音编程模型的出现,语音应用领域正在快速增长。要在 Tomcat 等环境中将服务器端语音应用程序的开发主流化,下一步必要的步骤是提供适当的标签库,帮助 JSP 开发人员摆脱语音交互的复杂性。目标是帮助以 JSP 标签库的形式打包专业语音设计技能,使 JSP 开发人员能够轻松地为 Web 应用程序启用语音功能。

要求

此自定义标签库需要支持 JavaServer Pages 规范 2.0 版或更高版本的 Servlet 容器。依赖项包括:

可能可以使用低于此处引用的 Commons 库版本。

配置

请按照以下步骤配置您的 Web 应用程序以使用此标签库:

要在您的 JSP 页面中使用此库中的标签,请在每个页面的顶部添加以下指令:

      <%@ taglib uri="https://tomcat.net.cn/taglibs/rdc-1.1" prefix="rdc" %>
    

其中 "rdc" 是您希望用于此库中标签的标签名称前缀。您可以将此值更改为任何您喜欢的前缀。

标签摘要

原子组件
alpha 收集字母字符串
alphanum 收集字母数字字符串
color 收集颜色
country 收集国家名称
creditcardAmount 收集信用卡账单金额
creditcardExpiry 收集信用卡有效期
creditcardNumber 收集信用卡号
creditcardType 收集信用卡类型
currency 收集货币值
date 收集日期
digits 收集数字字符串
duration 收集持续时间
isbn 收集国际标准书号
mortgageType 收集抵押贷款类型
number 收集数值
percent 收集百分比
select1 从选项列表中收集一个选择
ssn 收集社会安全号码
time 收集时间
usMajorCity 收集美国主要城市名称
usState 收集美国州名
zipCode 收集邮政编码
 
复合组件
creditcardInfo 收集信用卡信息:包括卡类型、卡号、有效期和安全码
dateRange 收集日期范围,表示时间段的开始日期和结束日期。
mortgage 收集抵押贷款信息:包括抵押贷款类型和首付百分比
 
框架标签
group 作为容器,托管多个 RDC 并使用可插拔的对话管理策略管理它们之间的对话
peek 查看堆栈顶部元素。
pop 从堆栈中弹出顶部元素。
push 将元素推入堆栈。
task 为 RDC 提供所需的支架
 
辅助标签
comment RDC 注释
configure 配置此组件的提示、属性等。如果用户未提供配置,则使用预先指定的默认配置。
expand 将包含使用自定义语法 "#{...}" 的表达式文本评估为 JSP 2.0 EL 表达式
extract-params 从浏览器发送的 HTTP 请求中提取必要的参数。
fsm-confirm 生成 VoiceXML 以确认使用默认 RDC FSM 的组件输入的辅助标签。
fsm-input 生成 VoiceXML 以收集使用默认 RDC FSM 的组件输入的辅助标签。
fsm-run 定义默认 RDC FSM 的辅助标签。
get-configuration 从此 RDC 的配置文件中获取与给定 XPath 对应的元素
get-default-config 获取此组件的默认配置。
get-resource 从资源包中获取由键指定的资源。
hello 一个 RDC hello world 标签
include-fsm-fragment 包含此 RDC 模板实例的标签片段。
pause 应用程序暂停的可能处理程序
set-config-composite 在复合组件中设置页面上下文和配置。
set-grammar 使用资源包中给定属性作为语法 URI 来设置语法。
setup-results 设置此组件的属性,这些属性会影响浏览器提交结果的方式和位置。
struts-errors 播放前一个 Struts 动作的所有错误消息。
struts-submit 将 namelist 中指定的 RDC 值提交到 Struts 层。
subdialog-return 如果作为子对话调用,则生成适当的 VoiceXML 返回语句。RDC 的值必须根据标准公共契约进行序列化,以便在宿主对话(或调用者)中进行有意义的反序列化。
template 用于快速开发原子 RDC 的模板
 

标签参考

alpha - 字母

收集字母字符串

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  submit self-URI 结果提交的位置
  config xxx-cfg.xml 组件的配置文件
  numNBest [0-9]* 请求的 N-best 值的最大数量
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  echo true/false 播放选项
  locale [language](-[country])? RDC 区域设置
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  initial [a-zA-Z ']* alpha 的默认值
  confirm true/false 确认选项
  minLength [0-9]* 可接受的最小长度
  maxLength [0-9]* 可接受的最大长度
  pattern 正则表达式 可接受值的模式
  subdialog true/false 子对话选项
用法 <rdc:alpha id="myAlpha" echo="true" />
示例

请参见 rdc-examples 应用程序中的 alpha-test.jsp。

 
 

alphanum - 字母数字

收集字母数字字符串

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  submit self-URI 结果提交的位置
  config xxx-cfg.xml 组件的配置文件
  numNBest [0-9]* 请求的 N-best 值的最大数量
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  echo true/false 播放选项
  locale [language](-[country])? RDC 区域设置
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  initial [a-z0-9]* alphanum 的默认值
  confirm true/false 确认选项
  minLength [0-9]* 可接受的最小长度
  maxLength [0-9]* 可接受的最大长度
  pattern 正则表达式 可接受值的模式
  subdialog true/false 子对话选项
用法 <rdc:alphanum id="myAlphanum" minLength="5" maxLength="5" pattern="[0-9]*" confirm="true" echo="true"/>
示例

请参见 rdc-examples 应用程序中的 alphanum-test.jsp。

 
 

color - 颜色

收集颜色

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  submit self-URI 结果提交的位置
  config xxx-cfg.xml 组件的配置文件
  initial red 默认颜色
  numNBest [0-9]* 请求的 N-best 值的最大数量
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  locale [language](-[country])? RDC 区域设置
  echo true/false 播放选项
  confirm true/false 确认选项
  subdialog true/false 子对话选项
用法 <rdc:color id="myColor" confirm="true" echo="true" />
示例

请参见 rdc-examples 应用程序中的 color-test.jsp。

 
 

country - 国家

收集国家名称

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  initial India country 的默认值
  confirm true/false 确认选项
  echo true/false 播放选项
  locale [language](-[country])? RDC 区域设置
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  config xxx-cfg.xml 组件的配置文件
  numNBest [0-9]* 请求的 N-best 值的最大数量
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  submit self-URI 结果提交的位置
  subdialog true/false 子对话选项
用法 <rdc:country id="myCountry" />
示例

请参见 rdc-examples 应用程序中的 country-test.jsp。

 
 

creditcardAmount - 信用卡金额

收集信用卡账单金额

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  config xxx-cfg.xml 组件的配置文件
  numNBest [0-9]* 请求的 N-best 值的最大数量
  locale [language](-[country])? RDC 区域设置
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  balance [0-9]*.[0-9]{2} 此付款的余额
  minAmount [0-9]*.[0-9]{2} 最小应付金额
  maxAmount [0-9]*.[0-9]{2} 可支付的最大金额
  maxDenials [0-9]* 将导致此 RDC 退出的最大拒绝确认数
  currencyCode [A-Za-z][A-Za-z][A-Za-z] ISO 4217 货币代码
  echo true/false 播放选项
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  initial 信用卡金额 信用卡金额的默认值
  confirm true/false 确认选项
  submit self-URI 提交 URL
  subdialog true/false 子对话选项
用法 <rdc:creditcardAmount id="myCCAmount" minAmount="USD20.00" balance="USD123.45" />
示例

请参见 rdc-examples 应用程序中的 creditcardAmount-test.jsp。

 
 

creditcardExpiry - 信用卡有效期

收集信用卡有效期

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  config xxx-cfg.xml 组件的配置文件
  numNBest [0-9]* 请求的 N-best 值的最大数量
  locale [language](-[country])? RDC 区域设置
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  echo true/false 播放选项
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  initial 信用卡有效期 信用卡有效期的默认值
  maxDenials [0-9]* 将导致此 RDC 退出的最大拒绝确认数
  confirm true/false 确认选项
  submit self-URI 提交 URL
  subdialog true/false 子对话选项
用法 <rdc:creditcardExpiry id="myCCExpiry" />
示例

请参见 rdc-examples 应用程序中的 creditcardExpiry-test.jsp。

 
 

creditcardNumber - 信用卡号

收集信用卡号

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  config xxx-cfg.xml 组件的配置文件
  numNBest [0-9]* 请求的 N-best 值的最大数量
  locale [language](-[country])? RDC 区域设置
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  echo true/false 播放选项
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  initial 信用卡号 信用卡号的默认值
  maxDenials [0-9]* 将导致此 RDC 退出的最大拒绝确认数
  confirm true/false 确认选项
  submit self-URI 提交 URL
  subdialog true/false 子对话选项
用法 <rdc:creditcardNumber id="myCCNumber" confirm="true" />
示例

请参见 rdc-examples 应用程序中的 creditcardNumber-test.jsp。

 
 

creditcardType - 信用卡类型

收集信用卡类型

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  config xxx-cfg.xml 组件的配置文件
  numNBest [0-9]* 请求的 N-best 值的最大数量
  locale [language](-[country])? RDC 区域设置
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  echo true/false 播放选项
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  initial 信用卡类型 信用卡类型的默认值
  confirm true/false 确认选项
  submit self-URI 提交 URL
  subdialog true/false 子对话选项
用法 <rdc:creditcardType id="myCCType" initial="Visa" echo="true" />
示例

请参见 rdc-examples 应用程序中的 creditcardType-test.jsp。

 
 

currency - 货币

收集货币值

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  minValue [0-9]*.?[0-9]{0,2} 可接受的最小金额
  maxValue [0-9]*.?[0-9]{0,2} 可接受的最大金额
  currencyCode [A-Za-z][A-Za-z][A-Za-z] ISO 4217 货币代码
  initial xxxxxx 默认金额
  confirm true/false 确认选项
  echo true/false 播放选项
  locale [language](-[country])? RDC 区域设置
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  config xxx-cfg.xml 组件的配置文件
  numNBest [0-9]* 请求的 N-best 值的最大数量
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  submit self-URI 提交 URL
  subdialog true/false 子对话选项
用法 <rdc:currency id="myCurrency" minValue="100" echo="true" />
示例

请参见 rdc-examples 应用程序中的 currency-test.jsp。

 
 

date - 日期

收集日期

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  minDate xxxxxxxx 可接受的最小日期
  maxDate xxxxxxxx 可接受的最大日期
  initial xxxxxx 日期的默认值
  confirm true/false 确认选项
  echo true/false 播放选项
  locale [language](-[country])? RDC 区域设置
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  config xxx-cfg.xml 组件的配置文件
  numNBest [0-9]* 请求的 N-best 值的最大数量
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  submit self-URI 结果提交的位置
  format 日期格式 日期字符串返回的格式
  subdialog true/false 子对话选项
用法 <rdc:date id="myDate" minDate="01012004" maxDate="12312005" echo="true" />
示例

请参见 rdc-examples 应用程序中的 date-test.jsp。

 
 

digits - 数字

收集数字字符串

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  minLength [0-9]* 可接受的最小数字长度
  maxLength [0-9]* 可接受的最大数字长度
  initial [0-9]* 数字的默认值
  confirm true/false 确认选项
  echo true/false 播放选项
  locale [language](-[country])? RDC 区域设置
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  config xxx-cfg.xml 组件的配置文件
  numNBest [0-9]* 请求的 N-best 值的最大数量
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  submit self-URI 结果提交的位置
  subdialog true/false 子对话选项
用法 <rdc:digits id="myDigits" minLength="3" maxLength="7" />
示例

请参见 rdc-examples 应用程序中的 digits-test.jsp。

 
 

duration - 持续时间

收集持续时间

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  minDuration P([0-9]{2}Y)?([0-9]{2}M)?([0-9]{2}D)? 可接受的最小持续时间
  maxDuration P([0-9]{2}Y)?([0-9]{2}M)?([0-9]{2}D)? 可接受的最大持续时间
  initial P([0-9]{2}Y)?([0-9]{2}M)?([0-9]{2}D)? 持续时间的默认值
  confirm true/false 确认选项
  locale [language](-[country])? RDC 区域设置
  echo true/false 播放选项
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  config xxx-cfg.xml 组件的配置文件
  numNBest [0-9]* 请求的 N-best 值的最大数量
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  submit self-URI 结果提交的位置
  subdialog true/false 子对话选项
用法 <rdc:duration id="myDuration" echo="true" />
示例

请参见 rdc-examples 应用程序中的 duration-test.jsp。

 
 

isbn - isbn

收集国际标准书号

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  pattern 一个正则表达式 表示有效国际标准书号集合的正则表达式
  config xxx-cfg.xml 组件的配置文件
  echo true/false 播放选项
  confirm true/false 确认选项
  locale [language](-[country])? RDC 区域设置
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  initial xxxxxxxxxxx 默认 ISBN 值
  numNBest [0-9]* 请求的 N-best 值的最大数量
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  submit submit-uri JSP 页面的 URI
  subdialog true/false 子对话选项
用法 <rdc:isbn id="myISBN" confirm="true" echo="true" />
示例

请参见 rdc-examples 应用程序中的 isbn-test.jsp。

 
 

mortgageType - 抵押贷款类型

收集抵押贷款类型

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  minTerm [0-9]{1,2}Y(fixed|adjustable) 可接受的最小抵押贷款类型
  maxTerm [0-9]{1,2}Y(fixed|adjustable) 可接受的最大抵押贷款类型
  locale [language](-[country])? RDC 区域设置
  initial [0-9]{1,2}Y(fixed|adjustable) 抵押贷款类型的默认值
  confirm true/false 确认选项
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  echo true/false 播放选项
  config xxx-cfg.xml 组件的配置文件
  numNBest [0-9]* 请求的 N-best 值的最大数量
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  submit self-URI 结果提交的位置
  subdialog true/false 子对话选项
用法 <rdc:mortgageType id="myMortgageType" echo="true" />
示例

请参见 rdc-examples 应用程序中的 mortgageType-test.jsp。

 
 

number - 数字

收集数值

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  submit self-URI 结果提交的位置
  config xxx-cfg.xml 组件的配置文件
  numNBest [0-9]* 请求的 N-best 值的最大数量
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  echo true/false 播放选项
  locale [language](-[country])? RDC 区域设置
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  initial [0-9]*.[0-9]* alpha 的默认值
  confirm true/false 确认选项
  minValue [0-9]*.[0-9]* 可接受的最小值
  maxValue [0-9]*.[0-9]* 可接受的最大值
  subdialog true/false 子对话选项
用法 <rdc:number id="myNumber" minValue="0" maxValue="100" />
示例

请参见 rdc-examples 应用程序中的 number-test.jsp。

 
 

percent - 百分比

收集百分比

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  minPercent [0-9]{1,2} 可接受的最小百分比
  maxPercent [0-9]{1,2} 可接受的最大百分比
  initial [0-9]{1,2} 百分比的默认值
  locale [language](-[country])? RDC 区域设置
  confirm true/false 确认选项
  echo true/false 播放选项
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  config xxx-cfg.xml 组件的配置文件
  numNBest [0-9]* 请求的 N-best 值的最大数量
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  submit self-URI 结果提交的位置
  subdialog true/false 子对话选项
用法 <rdc:percent id="myPercent" minPercent="10" maxPercent="75" />
示例

请参见 rdc-examples 应用程序中的 percent-test.jsp。

 
 

select1 - 选择一个

从选项列表中收集一个选择

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  optionList *-opt.xml 用户将被要求从中选择的列表
  initial 某个选项 默认选择
  confirm true/false 确认选项
  echo true/false 播放选项
  locale [language](-[country])? RDC 区域设置
  config xxx-cfg.xml 组件的配置文件
  numNBest [0-9]* 请求的 N-best 值的最大数量
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  submit self-URI 提交 URL
  subdialog true/false 子对话选项
用法 <rdc:select1 id="myChoice" config="myConfig.xml" optionsList="myOptions.xml" echo="true" />
示例

请参见 rdc-examples 应用程序中的 select1-test.jsp。

 
 

ssn - ssn

收集社会安全号码

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  pattern 一个正则表达式 表示有效社会安全号码集合的正则表达式
  config xxx-cfg.xml 组件的配置文件
  echo true/false 播放选项
  confirm true/false 确认选项
  locale [language](-[country])? RDC 区域设置
  initial xxxxxxxxxx SSN 的默认值
  numNBest [0-9]* 请求的 N-best 值的最大数量
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  submit submit-uri JSP 页面的 URI
  subdialog true/false 子对话选项
用法 <rdc:ssn id="mySSN" />
示例

请参见 rdc-examples 应用程序中的 ssn-test.jsp。

 
 

time - 时间

收集时间

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  minTime xxxxxx 可接受的最小时间
  maxTime xxxxxx 可接受的最大时间
  initial xxxxxx 时间的默认值
  confirm true/false 确认选项
  echo true/false 播放选项
  locale [language](-[country])? RDC 区域设置
  config xxx-cfg.xml 组件的配置文件
  numNBest [0-9]* 请求的 N-best 值的最大数量
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  submit self-URI 结果提交的位置
  subdialog true/false 子对话选项
用法 <rdc:time id="myTime" minTime="xx30x" maxTime="xx60x" confirm="true" />
示例

请参见 rdc-examples 应用程序中的 time-test.jsp。

 
 

usMajorCity - 美国主要城市

收集美国主要城市名称

属性 名称 必需 运行时表达式求值 摘要
  id 一个名称 组件 ID
  config xxx-cfg.xml 组件的配置文件
  numNBest [0-9]* 请求的 N-best 值的最大数量
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  echo true/false 播放选项
  locale [language](-[country])? RDC 区域设置
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  initial 美国主要城市 城市的默认值
  confirm true/false 确认选项
  submit submit-uri JSP 页面的 URI
  subdialog true/false 子对话选项
用法 <rdc:usMajorCity id="myCity" echo="true" />
示例

请参见 rdc-examples 应用程序中的 usMajorCity-test.jsp。

 
 

usState - 美国州

收集美国州名

属性 名称 必需 运行时表达式求值 摘要
  id 一个名称 组件 ID
  config xxx-cfg.xml 组件的配置文件
  numNBest [0-9]* 请求的 N-best 值的最大数量
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  echo true/false 播放选项
  locale [language](-[country])? RDC 区域设置
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  initial 美国州 州的默认值
  confirm true/false 确认选项
  submit submit-uri JSP 页面的 URI
  subdialog true/false 子对话选项
用法 <rdc:usState id="myState" />
示例

请参见 rdc-examples 应用程序中的 usState-test.jsp。

 
 

zipCode - 邮政编码

收集邮政编码

属性 名称 必需 运行时表达式求值 摘要
  id 一个名称 组件 ID
  config xxx-cfg.xml 组件的配置文件
  numNBest [0-9]* 请求的 N-best 值的最大数量
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  echo true/false 播放选项
  locale [language](-[country])? RDC 区域设置
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  confirm true/false 确认选项
  initial 邮政编码 邮政编码的默认值
  length 一个正整数 邮政编码中的位数
  pattern 一个正则表达式 表示有效邮政编码集合的正则表达式
  submit submit-uri JSP 页面的 URI
  subdialog true/false 子对话选项
用法 <rdc:zipCode id="myZip" confirm="true" echo="true" />
示例

请参见 rdc-examples 应用程序中的 zipCode-test.jsp。

 
 

creditcardInfo - 信用卡信息

收集信用卡信息:包括卡类型、卡号、有效期和安全码

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  submit self-URI 结果提交的位置
  subdialog true/false 子对话选项
  mode FULL 此信用卡信息复合组件将操作的模式
  locale [language](-[country])? RDC 区域设置
  initial CreditCardData 默认信用卡数据
  config xxx-cfg.xml 此复合组件的配置文件
用法 <rdc:creditcardInfo id="myCCInfo" mode="short" />
示例

请参见 rdc-examples 应用程序中的 creditcardInfo-test.jsp。

 
 

dateRange - 日期范围

收集日期范围,表示时间段的开始日期和结束日期。

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  submit self-URI 结果提交的位置
  subdialog true/false 子对话选项
  initial DateRangeData 默认日期范围
  config xxx-cfg.xml 此复合组件的配置文件
  locale [language](-[country])? RDC 区域设置
  subdialog true/false 子对话选项
用法 <rdc:dateRange id="myDateRange" />
示例

请参见 rdc-examples 应用程序中的 dateRange-test.jsp。

 
 

mortgage - 抵押贷款

收集抵押贷款信息:包括抵押贷款类型和首付百分比

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  submit self-URI 结果提交的位置
  subdialog true/false 子对话选项
  initial MortgageData 默认抵押贷款数据
  config xxx-cfg.xml 此复合组件的配置文件
  locale [language](-[country])? RDC 区域设置
用法 <rdc:mortgage id="myMortgage" />
示例

请参见 rdc-examples 应用程序中的 mortgage-test.jsp。

 
 

group

作为容器,托管多个 RDC 并使用可插拔的对话管理策略管理它们之间的对话

标签体 无脚本        
属性 名称 必需 运行时表达式求值 可用性
  id  
 

此组的唯一标识符。

  strategy  
 

可插拔对话管理策略的完全限定类名。

  config  
 

特定于策略的配置属性。

  submit  
 

此容器将向其提交 *中间* 结果的 URI。

变量
用法 <rdc:group id="myDateTime" strategy="org.apache.taglibs.rdc.dm.SimpleDirectedDialog"> <rdc:date id="myDate" /> <rdc:time id="myTime" /> </rdc:group>
示例

rdc-examples 应用程序提供了多个 <rdc:group> 示例。示例中包含以下对话管理策略:

  • 简单引导式对话 - 子元素按文档顺序执行。参见
    • group-test.jsp
    • nested-group-test.jsp
  • 基于规则的引导式对话 - 子元素根据 XML 导航规则集中定义的规则执行。参见
    • rulebased-nested.jsp
    • rulebased-conditions.jsp

 
 

peek

查看堆栈顶部元素。

标签体 EMPTY        
属性 名称 必需 运行时表达式求值 可用性
  var  
 

保存 peek 操作结果的变量。

  stack  
 

保存目标堆栈的变量。

变量 名称 作用域 可用性
  var 属性值 从标签开始到页面结束  
 
  属性
用法 <rdc:peek var="stateMap" stack="${requestScope.rdcStack}"/>
pop

从堆栈中弹出顶部元素。

标签体 EMPTY        
属性 名称 必需 运行时表达式求值 可用性
  var  
 

保存将被弹出的值的变量。

  stack  
 

保存目标堆栈的变量。

变量 名称 作用域 可用性
  var 属性值 从标签开始到页面结束  
 
  属性
用法 <rdc:pop var="discard" stack="${rdcStack}"/>
push

将元素推入堆栈。

标签体 EMPTY        
属性 名称 必需 运行时表达式求值 可用性
  stack  
 

保存目标堆栈的变量。

  element  
 

保存正在被推送的值的变量。

变量
用法 <rdc:push stack="${rdcStack}" element="${dialogMap}"/>
task - 任务标签

为 RDC 提供所需的支架

用法 <rdc:task map="${taskmap}"> <rdc:date id="myDate" confirm="true" /> </rdc:task>
示例

请参见 rdc-examples 应用程序中的 task-test.jsp。

 
 

expand

将包含使用自定义语法 "#{...}" 的表达式文本评估为 JSP 2.0 EL 表达式

标签体 无脚本        
属性
变量
用法 <rdc:expand>#{model.utterance} </rdc:expand>
get-configuration

从此 RDC 的配置文件中获取与给定 XPath 对应的元素

标签体 EMPTY        
属性 名称 必需 运行时表达式求值 可用性
  xml  
 

此组件的已解析配置文件。

  locator  
 

感兴趣元素的 XPath。

变量
用法 <rdc:get-configuration xml="${parsedDoc}" locator="/config/input/property-list/property" />
get-default-config

获取此组件的默认配置。

标签体 EMPTY        
属性 名称 必需 运行时表达式求值 可用性
  name  
 

此组件默认配置文件的 URI。

  model  
 

此组件的数据模型。

变量
用法 <rdc:get-default-config name="${defaultConfig}" model="${model}" />
get-resource

从资源包中获取由键指定的资源。

标签体 EMPTY        
属性 名称 必需 运行时表达式求值 可用性
  bundle  
 

要查找的 ResourceBundle。

  key  
 

要检索的属性的键。

  var  
 

将保存属性值的变量。

  isGrammarURI  
 

跳过 RDC 语法 URI 特定处理的能力。

变量
用法 <rdc:get-resource bundle="${rdcResourceBundle}" key="my.property.key" var="myResourceString" />
include-fsm-fragment

包含此 RDC 模板实例的标签片段。

标签体 EMPTY        
属性 名称 必需 运行时表达式求值 可用性
  template  
 

此模板实例的数据模型。

  context  
 

宿主标签文件的 pageContext。

变量
用法 <rdc:include-fsm-fragment template="${model}" context="${pageContext}" />
struts-errors

播放前一个 Struts 动作的所有错误消息。

标签体 EMPTY        
属性
变量
用法 <rdc:struts-errors />
struts-submit

将 namelist 中指定的 RDC 值提交到 Struts 层。

标签体 EMPTY        
属性 名称 必需 运行时表达式求值 可用性
  submit  
 

提交结果的 URI(一个 Struts 映射)。

  context  
 

宿主 JSP 的 pageContext。

  namelist  
 

应提交其值的 RDC 列表。

  clearlist  
 

应清除其值的 RDC 列表。列表中的项可以是组件或容器。

  dialogMap  
 

宿主 JSP 使用的 RDC 对话映射。

变量
用法 <rdc:struts-submit submit=${self}" context="${pageContext}" namelist="myDate myTime"/>
comment - 注释标签

RDC 注释

用法 <rdc:comment> 这是一个 RDC 注释 </rdc:comment>
configure - 配置标签

配置此组件的提示、属性等。如果用户未提供配置,则使用预先指定的默认配置。

用法 <rdc:configure model="${model}" config="${config}" defaultConfig="META-INF/tags/rdc/config/date.xml" />
extract-params - 提取参数标签

从浏览器发送的 HTTP 请求中提取必要的参数。

用法 <rdc:extract-params target="${model}" parameters="${model.paramsMap}"/>
fsm-confirm - fsm 确认标签

生成 VoiceXML 以确认使用默认 RDC FSM 的组件输入的辅助标签。

用法 <rdc:fsm-confirm model="${model}" />
fsm-input - fsm 输入标签

生成 VoiceXML 以收集使用默认 RDC FSM 的组件输入的辅助标签。

用法 <rdc:fsm-input model="${model}" />
fsm-run - fsm 运行标签

定义默认 RDC FSM 的辅助标签。

用法 <rdc:fsm-run model="${model}" />
hello - hello world 标签

一个 RDC hello world 标签

用法 <rdc:hello name="whole wide world" />
pause - 暂停标签

应用程序暂停的可能处理程序

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  locale [language](-[country])? RDC 区域设置
  config xxx-cfg.xml 组件的配置文件
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
用法 <rdc:pause id="myPause" />
set-config-composite - 设置配置复合标签

在复合组件中设置页面上下文和配置。

用法 <rdc:set-config-composite model="${model}" context="${pageContext}" config="${config}" />
set-grammar - 设置语法标签

使用资源包中给定属性作为语法 URI 来设置语法。

用法 <rdc:set-grammar model="${model}" bundle="${rdcResourceBundle}" key="my.property.key" />
setup-results - 设置结果标签

设置此组件的属性,这些属性会影响浏览器提交结果的方式和位置。

用法 <rdc:setup-results model="${model}" submit="${submit}" minConfidence="${minConfidence}" numNBest="${numNBest}" />
subdialog-return - 如果作为子对话调用,则生成返回语句

如果作为子对话调用,则生成适当的 VoiceXML 返回语句。RDC 的值必须根据标准公共契约进行序列化,以便在宿主对话(或调用者)中进行有意义的反序列化。

用法 <rdc:subdialog-return model="${model}" />
template - RDC 模板

用于快速开发原子 RDC 的模板

属性 名称 必需 运行时表达式求值 摘要
  id 某个名称 组件 ID
  grammar xxx.grxml 或 Grammar 对象数组 此实例所需的一个或多个语法,作为 URI 或 Grammar 对象数组传递
  config xxx-cfg.xml 组件的配置文件
  constraints 实例特定映射 此实例返回值上的约束,作为 Map 传递
  bean 完全限定数据模型类 此实例的数据模型
  data 实例特定对象 此实例所需的外部数据
  fsmFragment FSM 片段的 URI 此组件的自定义 FSM
  initial 实例特定 此实例的默认值
  confirm true/false 确认选项
  echo true/false 播放选项
  numNBest [0-9]* 请求的 N-best 值的最大数量
  minConfidence [0-9][0-9].[0-9]*F 识别输出的最小置信度值
  maxNoInput [0-9]* 无输入时优雅退出
  maxNoMatch [0-9]* 无匹配时优雅退出
  submit self-URI 结果提交的位置
  subdialog true/false 子对话选项
用法 <rdc:template id="myTemplate" grammar="grammar/myGrammar.grxml" config="config/myConfig.xml" />
示例

请参见 rdc-examples 应用程序中的 simple-template-test.jsp。

 
 

示例

有关此自定义标签库标签用法的示例,请参见示例应用程序 taglibs-rdc-examples.war。

Java 文档

Java 程序员可以以 javadocs 形式查看此标签库的 Java 类文档。

修订历史

查看此标签库的完整修订历史