Roo プロジェクトで、ユーザーがパスワードを変更できるフォームを追加したいと考えています。フォームに現在のパスワード、新しいパスワード、繰り返しのパスワードの 3 つのフィールドが必要なため、フィールドとその検証の不一致により、アカウント データを保持するために使用するエンティティを使用できません。
--backingType
コントローラーをスキャフォールディングするためのフォームとして任意のクラスを使用できるようですが (の経由web mvc scaffold
)、何らかの理由でカスタム フォーム フィールドでは機能しません。
私のプロジェクトは次のように構成されています:
project --topLevelPackage com.test --projectName temp --java 6 --packaging JAR
persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
web mvc setup
アカウント エンティティ:
entity jpa --class com.test.domain.Account
field string --fieldName name
field string --fieldName password
パスワード変更フォーム:
class --class ~.form.ChangePasswordForm
field string --fieldName currentPassword
field string --fieldName newPassword
field string --fieldName repeatPassword
これにより、期待どおりにコントローラーとビューが生成されます。
web mvc scaffold --class com.test.web.AccountController --backingType ~.domain.Account
これにより、空のコントローラーのみが作成され、ビューはまったく作成されません。
web mvc scaffold --class com.test.web.ChangePasswordFormController --backingType ~.form.ChangePasswordForm
では、私の質問は、2 番目のケースで Roo がコントローラー/ビューをスキャフォールディングしない理由と、Roo でこのシーンを処理する最善の方法は何かということです。