0

在我的 Roo 项目中,我想添加允许用户更改密码的表单。我希望表单有 3 个字段:当前/新/重复密码,因此由于字段及其验证不匹配,我无法使用我用来保存帐户数据的实体。

看来我可以使用任何类作为脚手架控制器的表单(通过--backingTypeof 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

所以,我的问题是为什么 Roo 在第二种情况下没有脚手架控制器/视图,以及用 Roo 处理这种场景的最佳方法是什么?

4

2 回答 2

1

web mvc scaffold旨在为使用 Roo 的 JPA 集成的域模型搭建 CRUD 控制器。

为了实现这个 CRUD Roo 需要知道如何持久化你的模型对象。

换句话说,您确实需要使用用@RooJpaEntityas 注释的类--backingType

于 2013-11-04T06:25:26.940 回答
0

你也许可以在 Github 中尝试另一个类似的工具,名为Sloth - https://github.com/coolcooldee/sloth

它有几个特点:</p>

1.Generate Model–View–Controller Code
2.Generate CRUD  Code
3.Generate API DOC
4.Provide Many Kinds Of Data Access With JDBC :Mybatis、JOOQ、Spring JDBC
于 2016-09-05T11:57:03.793 回答