尝试创建ViewObject(使用JDeveloper 11.1.2.3),可以将其放在页面上以创建如下表单:
必须将表单参数提交给自定义报告框架。在ViewObject中,某些属性必须链接到List-of-Value选择器,或者自动从ViewObject中获取其数据类型。开发人员应该能够拖放ViewObject以创建功能表单。
这将允许表单使用ViewObject执行输入验证,并允许使用List-of-Value对象。
没有实体支持ViewObject。没有SQL驱动ViewObject。 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?
答案 0 :(得分:1)
您可以使用接受两个参数的方法创建一个简单的Java类。 将Java类公开为数据控件,然后将其拖到页面中以创建参数表单。
然后您可以为字段添加LOV等。 https://blogs.oracle.com/shay/entry/adding_lov_to_non_database
答案 1 :(得分:0)
你必须:
按如下方式创建视图对象:
按如下方式配置验证规则:
此时已配置视图对象,值列表选项卡可用于引用基于查询的LOV。
按如下方式配置应用程序模块:
注意:如果视图对象不可见,请重新启动JDeveloper。
为表单创建一个网页,如下所示:
创建了网页。
除非为视图对象实例创建“行”,否则无法更改视图对象的属性。必须在显示页面内容之前创建此内存行。完成如下:
应用验证并可以使用数据驱动的LOV。
删除“创建”按钮。