You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将XML Fragment添加至XML View?能否直接在视图中使用?

直接在View中使用SAPUI5 Fragment的方法

当然可以直接在SAPUI5的View中使用Fragment!这是很常见的开发方式,不用非得通过Controller来加载,下面就结合你的场景说明具体操作:

1. 先确保命名空间正确声明

首先,在你要引用Fragment的XML View根标签里,需要声明Fragment用到的所有对应命名空间:

  • xmlns:core="sap.ui.core":用于调用Fragment引用标签
  • xmlns:f="sap.ui.layout.form":对应你Fragment里的f:SimpleForm组件
  • xmlns:l="sap.ui.layout":对应你Fragment里的l:GridData布局配置

2. 在View中直接引用Fragment

在View需要放置Fragment内容的位置,添加<core:Fragment>标签,指定Fragment的完整命名空间路径和类型即可:

示例XML View代码

<mvc:View xmlns:mvc="sap.ui.core.mvc" 
          xmlns="sap.m" 
          xmlns:core="sap.ui.core" 
          xmlns:f="sap.ui.layout.form" 
          xmlns:l="sap.ui.layout"
          controllerName="你的控制器命名空间">

  <!-- 这里可以放置View的其他原有内容 -->

  <!-- 直接引用你的地址Fragment -->
  <core:Fragment 
    fragmentName="你的项目命名空间.view.fragments.AddressFragment" 
    type="XML" />

  <!-- 这里可以放置View的其他原有内容 -->

</mvc:View>

关键参数说明

  • fragmentName:填写Fragment的完整命名空间路径,根据你的文件结构(截图显示Fragment在view/fragments目录下),替换成你实际的项目命名空间+路径即可,比如项目命名空间是com.yourteam.salesapp,那路径就是com.yourteam.salesapp.view.fragments.AddressFragment
  • type="XML":因为你的Fragment是XML类型,所以指定该参数

3. 效果验证

完成配置后,运行应用时View会自动加载并渲染Fragment内的所有内容(包括你写的SimpleForm和Table),和通过Controller加载的效果完全一致。

注意事项

  • 要保证Fragment的文件名和命名空间路径严格对应,SAPUI5对命名空间与文件路径的匹配要求很高
  • 如果Fragment里用到了其他命名空间组件,一定要在引用它的View里同步声明对应命名空间,否则会出现XML解析错误

内容的提问来源于stack exchange,提问作者softshipper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:36:36