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

JHipster:如何在前端隐藏实体计算DTO字段仅关联实体显示?

解决方案

可以通过JDL的UI配置实现这个需求,有两种常用方式:

方式一:使用@Hidden注解控制字段显示场景

在定义displayName字段时,添加@Hidden注解并指定需要隐藏的前端场景,这样该字段就不会出现在AppUser自身的创建、编辑、详情页面,但依然会在多端关联实体的界面中正常显示。

示例JDL代码:

entity AppUser {
  name String
  // 其他业务字段
  displayName String @MapstructExpression("java(s.getName()+'('+s.getId() + ')')") @Hidden(when = "CREATE,EDIT,DETAIL")
}

// 关联关系示例(以AppUser为一端、Order为多端为例)
entity Order {
  orderNumber String
}

relationship OneToMany {
  AppUser to Order
}

@Hidden的when参数支持的场景包括CREATE、EDIT、DETAIL、LIST,可根据需要组合调整。

方式二:通过ui块精细化配置实体界面字段

如果需要更灵活的控制(比如仅在列表页显示,其他页面隐藏),可以使用JDL的ui块单独定义AppUser各页面的字段列表:

entity AppUser {
  name String
  // 其他业务字段
  displayName String @MapstructExpression("java(s.getName()+'('+s.getId() + ')')")
}

ui AppUser {
  list: [name, displayName] // 列表页保留displayName
  create: [name] // 创建页不显示displayName
  edit: [name] // 编辑页不显示displayName
  detail: [name] // 详情页不显示displayName
}

以上两种配置都会被JHipster解析,在生成React前端代码时自动隐藏指定页面的displayName字段,同时不影响其在多端关联实体界面中的显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 20:42:33