背景
尝试创建一个可以拖放到页面上的ViewObject (使用 JDeveloper 11.1.2.3)以创建如下表单:
表单参数必须提交给自定义报告框架。在 ViewObject 中,某些属性必须链接到 List-of-Value 选择器,或者自动从 ViewObject 中获取其数据类型。开发人员应该能够拖放 ViewObject 以创建功能表单。
这将允许表单使用 ViewObject 执行输入验证,并允许使用 List-of-Value 对象。
问题
没有支持 ViewObject 的实体。没有驱动 ViewObject 的 SQL。ViewObject 并不真正需要编程访问,也不是静态列表。它只是一个容器,可以容纳可以遵守验证规则的参数。当开发人员在表单上放置这样的 ViewObject 时,它会创建一个没有可见输入字段的表单:
幕后的代码类似于:
<af:inputText value="#{bindings.ManagementCentre.inputValue}"
label="#{bindings.ManagementCentre.hints.label}"
required="#{bindings.ManagementCentre.hints.mandatory}"
columns="#{bindings.ManagementCentre.hints.displayWidth}"
maximumLength="#{bindings.ManagementCentre.hints.precision}"
shortDesc="#{bindings.ManagementCentre.hints.tooltip}"
id="report_P_MANAGEMENT_CENTRE">
</af:inputText>
<af:inputText value="#{bindings.ClinicServiceCentreName.inputValue}"
label="#{bindings.ClinicServiceCentreName.hints.label}"
required="#{bindings.ClinicServiceCentreName.hints.mandatory}"
columns="#{bindings.ClinicServiceCentreName.hints.displayWidth}"
maximumLength="#{bindings.ClinicServiceCentreName.hints.precision}"
shortDesc="#{bindings.ClinicServiceCentreName.hints.tooltip}"
id="report_P_CLINIC_SERVICE_CENTRE">
<f:validator binding="#{bindings.ClinicServiceCentreName.validator}"/>
</af:inputText>
提交按钮的代码运行托管 bean 以提取表单参数并将它们传递到报告中(通过报告框架):
<af:commandButton text="Run Report" id="submitReport">
<af:fileDownloadActionListener method="#{reportBean.run}" />
</af:commandButton>
问题
如何创建这样一个可以执行验证但不需要数据源支持的 ViewObject?