-2

我正在尝试自己学习 JSF 的 Web 开发。有很多资源可以了解这个和那个,但我很难将它们结合在一起。

想象一下,我有一个数据库,其中包含一个名为user的表,其中包含以下列:id、name、surname。我在我的项目中使用 JPA,所以我有一个带有 @Entity 注释的类,它映射到这个类。我还有一个 index.xhtml,其中有一个包含用户名和密码字段的注册表单。所以当用户点击注册按钮时,我应该检查是否存在具有相同用户名的用户,如果没有,我应该注册用户并将用户重定向到welcome.xhtml。如果注册不成功,那么用户应该留在 index.xhtml 中。

我的问题是:

我有一个 index.xhtml 和一个 UserEntity.Java。但还有什么?我需要一个作为@ManagedBean 的RegistirationFormBean 吗?而这个 RegistirationFormBean 将有一个 registerUser 方法。然后呢?我有 RegistirationFormControllerBean 吗?它也应该是 ManagedBean 吗?还是我需要一个 UserRegistirationBean?用户注册服务?

那么如何正确创建 MVC 呢?

4

1 回答 1

1

您只需要一个 bean - 但有一点需要注意,您不应该再使用ManagedBean注释并继续使用 CDI 技术,所以只需使用@Named. 您将拥有实体的 getter 和 setter,以便您可以在页面上使用它。最后是注册方法,ti可以看起来像

@Named
//@RequestScoped is the default
public class MyBean {

    @Inject //you can inject other beans or EJBs
    private UserDaO userDao; //this class will handle DB operations for user

    private YourUserEntity entity;

    public void register() {
        if(!userDao.isUserExists(entity)) {
            userDao.save(entity);
        }
    }
}
于 2013-05-13T08:02:39.117 回答