JDeveloper中Web Service数据控件的过滤方法咨询
在JDeveloper 12.2.1.3.0中为Web Service数据控件实现数据过滤的方案
Web Service数据控件本身确实没有Named Criteria配置选项,你可以通过以下几种方式实现过滤需求:
方法1:视图层内存过滤(快速实现)
- 选中页面片段里的表格,在属性面板找到
FilterVisible属性,设置为true,表格会自动生成各列的过滤输入框。 - 这种方式是在前端加载完所有数据后做内存过滤,不用修改服务端或数据控件配置,适合数据量较小的场景。
方法2:服务端参数过滤(性能最优)
- 打开Web Service数据控件对应的
.dcx配置文件,找到你调用的服务操作。 - 编辑该操作的参数列表,添加需要过滤的属性作为输入参数(比如要按
userType过滤,就新增userType参数)。 - 调用服务时传入过滤参数,让Web Service直接返回符合条件的数据,从源头减少数据量,性能更好。
- 如果原Web Service没有提供带过滤参数的接口,需要和后端开发协调添加对应方法。
方法3:封装成Java Bean数据控件(支持Named Criteria)
- 新建一个Java类,在类中调用目标Web Service,手动实现过滤逻辑(比如用Java Stream API筛选数据),返回List类型结果。
- 右键该Java类,选择
Create Data Control,生成Java Bean数据控件。 - 使用这个新数据控件绑定页面表格,此时就能在数据控件配置页面看到Named Criteria标签,可配置标准过滤规则。
内容的提问来源于stack exchange,提问作者Yoel
相关产品推荐
相关产品推荐

