-1

候補POJOには、ブール値のプロパティ「isNewCandidate」があります

したがって、ストラットがアクセスできるように、POJO でその変数を宣言するための最良のアプローチは何ですか。

<s:property value="candidate.isNewCandidate"/>

そのため、プロパティを公開し、アクセスできました。しかし、プロパティを公開する必要がありますか、それともプロパティを非公開にし、通常のデータベース列マップ プロパティのようにゲッターとセッターを使用できる最善の方法はありますか?

4

1 に答える 1

1

プロパティは、Struts または UI がアクセスできるようにパブリックにする必要があります。したがって、他の答えは正しくありません。

Candidate オブジェクト内から把握できる場合 (たとえば、ID がゼロでない場合) は、読み取り専用プロパティにすることができます。

ただし、Bean に追加するよりも、コントローラーで把握し、ビューに設定する (つまり、要求属性として設定する) 方がよい場合があります。JSP は、リクエスト属性から読み取りおよびレンダリングできます。

Bean にそれをまったく持たないことは、おそらくカプセル化の点で優れています..そして、「新規」対「既存」は、編集フォームとページで知っておくべき一般的な要件であり、実際には編集フォーム内のライフサイクルのプロパティです。特定の豆の種類ではありません。作成/編集ページの外では重要ではありません。

簡単に言うと、各エンティティクラスで個別に実装するのではなく、「ベース EditForm コントローラー」で一度実装します。

于 2013-10-18T05:12:46.830 に答える