加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

BI Component 开发(5)--处理用户交互

发布时间:2020-12-14 02:10:32 所属栏目:大数据 来源:网络整理
导读:以下这些方法用来创建提示信息并显示给用户。它们对于自动生成参数页面(parameter pages)非常有用。创建这些页面时在action序列中可以指定布局,页面布局可用的模板有HTML模板或者XSTL模板。若没有指定模板,则默认的XSTL模板将会被使用,默认模板位于:syst
以下这些方法用来创建提示信息并显示给用户。它们对于自动生成参数页面(parameter pages)非常有用。创建这些页面时在action序列中可以指定布局,页面布局可用的模板有HTML模板或者XSTL模板。若没有指定模板,则默认的XSTL模板将会被使用,默认模板位于:system/custom/xsl/DefaultParameterForm.xsl

处理用户交互涉及到的方法如下:
① ? createFeedbackParameter() - 3 个参数
② ? createFeedbackParameter() - 5 个参数
③ ? createFeedbackParameter() - 7 个参数
④ ? ?feedbackAllowed()
⑤ ? ?getFeedbackOutputStream()
⑥ ? ?isPromptPending()
⑦ ? ?promptNeeded()
⑧ ? ?promptNow()
⑨ ? ?setFeedbackMimeType()

① ? createFeedbackParameter() - 3 个参数

② ? createFeedbackParameter() - 5 个参数
参数:? ?String?fieldname,?String displayName,?String hint,String defaultValue,boolean visible
返回值:无
创建提示参数并以文本的形式呈现给用户
fieldname:为提示指定表单元素的id,当用户点击提交时,该id将会出现在请求中,若action序列所定义的输入中没有id与fieldname所代表的id相匹配,Component不会接受用户提交的这个值。同时会导致无限循环给用户相同的提示。
displayName:参数的标签。以文本的形式呈现给用户
hint:一个帮助消息,提示用户将会看到下一条参数
defaultValue:当用户看到提示页面时,该默认值将会自动呈现
visible:决定用户能否看到表单控制(form control)

③ ? createFeedbackParameter() - 7 个参数

④ ? ?feedbackAllowed()
参数:无
返回值:boolean
若Component被设置成能够请求获取参数,则返回true。如果执行action序列的请求来自于web 应用程序,该方法将返回true;如果请求来自于WebService客户端、调度器或者工作流引擎,该方法返回false。(PS: action序列可以通过四种方法来执行)

⑤ ? ?getFeedbackOutputStream()
参数:无
返回值:?java.io.OutputStream
该方法表明:对于Component而言,除了需要从用户处获取原始的输入之外,还可以给用户提供关于某个执行结果的反馈。比如说,当Email 服务器未定义时,Email Component调用该方法给用户提示有效的信息帮助用户修正错误。

⑥ ? ?isPromptPending()
参数:无
返回值:boolean
该方法让Component找出是否有其它的Component从用户那里请求参数。若该方法返回true,该Component不应该继续执行或生成内容而是决定是否需要提示参数。

⑦ ? ?promptNeeded()
参数:无
返回值:无
该方法通知运行时上下文是否提示用户输入Component执行所需要的参数。在同一个action序列中的其它Component也会看到它是否需要提示用户输入参数。这使得系统只需要为用户生成一个表单,而不是生成连续不断的表单(因为action序列中有多个Component)。比如,action序列中的第一个Component是报表Component,它需要一个部门的id;第二个Component是打印Component,它需要一个打印机名称,那么用户只会收到一个表单让他同时选择部门id和打印机名称。

⑧ ? ?promptNow()
参数:无
返回值:无
该方法通知运行时上下文提示用户是否需要输入后续的Component执行时所需要的参数。这样可以防止无效的处理和保证安全。比如,在一个action序列中定义了二个action,第一个是WebService服务,若它没有在请求中获得客户id则提示用户输入客户id;第二个Component把第一个Component的处理结果作为它的输入。若客户id没有提供,则第一个Component需要给用户发提示信息,那么就没有任何意义执行第二个Component去检查它是否需要提示用户输入它执行时所需要的其它参数了。

⑨ ? ?setFeedbackMimeType()
参数:String mimeType
返回值:无
设置提示页面的 MIME类型。目前只支持"text/html"类型。

本文翻译自:http://wiki.pentaho.com/display/ServerDoc2x/Handling+User+Interaction

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读