A.11. views.xml

这个类型的文件用来描述视图(views),参考 视图

XML schema: http://schemas.haulmont.com/cuba/7.0/view.xsd.

views – 根节点元素。

views 的元素:

  • viewview 视图描述元素。

view 属性:

  • class – 实体类。

  • entity – 实体名称,比如 sales$Order。这个属性可以用来替代 class 属性。

  • name – 视图名称,实体范围内需要名称唯一。

  • systemProperties – 启用包含定义在持久化实体 BaseEntity 基类和 Updatable 接口中的基础接口系统属性。此参数为可选参数,默认为 true

  • overwrite – 启用覆盖视图功能,通过同一类以及部署在仓库(repository)的名称来覆盖同名视图。可选参数,默认为 false

  • extends – 指定一个用来继承实体属性的实体视图。比如,声明 extends="_local",这样会将实体的所有 local attributes 添加到当前视图。也是可选参数。

view 的元素:

  • propertyViewProperty 视图属性描述元素。

property 的属性:

  • name – 实体属性名称。

  • view – 对于引用类型属性,设定一个实体关联的视图名称,用来加载实体的属性。

  • fetch - 对于引用类型属性,设定如何从数据库取关联实体。参考 视图 了解细节。

property 的元素:

  • property – 跟实体属性描述关联。这个用来在当前描述中定义一个关联实体的无命名单行(inline)视图。
  • include – 包含另外一个 views.xml 文件。

include 的属性:

  • file – 文件路径,符合 Resources 接口规范。

示例:

  1. <views xmlns="http://schemas.haulmont.com/cuba/view.xsd">
  2. <view class="com.sample.sales.entity.Order"
  3. name="order-with-customer"
  4. extends="_local">
  5. <property name="customer" view="_minimal"/>
  6. </view>
  7. <view class="com.sample.sales.entity.Item"
  8. name="itemsInOrder">
  9. <property name="quantity"/>
  10. <property name="product" view="_minimal"/>
  11. </view>
  12. <view class="com.sample.sales.entity.Order"
  13. name="order-with-customer-defined-inline"
  14. extends="_local">
  15. <property name="customer">
  16. <property name="name"/>
  17. <property name="email"/>
  18. </property>
  19. </view>
  20. </views>

也可以参考 cuba.viewsConfig 应用程序属性。