0

プロジェクトに jsf/primeface フォーム コンポーネントがあります。また、必須または非表示にする必要があるフィールドを説明する db テーブルもあります。このテーブルは別のシステム (Java 関連ではない) で使用されるため、私のプロジェクトでもその db テーブルを使用する必要があります。

問題は、これらのフィールドとその ID が db で数値として記述されており、私のプロジェクトでは jsf/primefaces コンポーネントに人間が読める ID があることです。たとえば、db テーブルの「name」フィールドには id = 1、required = 0、hidden = 1 があり、xhtml には次のものがあります。

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

idNameコンポーネントをデータベースエントリに簡単にマップできるが、dbテーブル構造を変更しない方法はありますか?

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}参照しMap<Long, Object>ます。

于 2013-10-04T11:21:07.760 に答える