0

我的项目中有 jsf/primeface 表单组件。还有一个 db 表,它描述了哪个字段应该是必需的或隐藏的。该表由另一个系统(与 java 无关)使用,因此我的项目也应该使用该 db 表。

问题是这些字段及其 id 在数据库中被描述为数字,而在我的项目中,jsf/primefaces 组件具有人类可读的 id。例如,db 表中的“名称”字段具有 id = 1、必需 = 0、隐藏 = 1,而在 xhtml 中我有:

<p:inputtext id="idName" required="false" rendered="true"...>

有什么方法可以让我轻松地将idName组件映射到数据库条目但不更改数据库表结构?

4

1 回答 1

2

只需创建一个表示该字段的实体:

public class Field {

    private Long id;
    private boolean required;
    private boolean hidden;

    // ...
}

并在您的视图中使用它,如下所示:

<p:inputText value="#{bean.values[field.id]}" required="#{field.required}" rendered="#{not field.hidden}" />

其中#{bean.values}指的是 a Map<Long, Object>

于 2013-10-04T11:21:07.760 回答