2013-05-13 79 views
-2

我正在嘗試通過自己學習JSF的Web開發。有大量的消息來源瞭解這一點,但我很難將它們全部綁定在一起。使用JSF實現註冊表單?

想象我有一個表的數據庫稱爲用戶具有列:ID,姓名,姓。 我在我的項目中使用JPA,所以我有一個帶有@Entity註解的類,它映射到這個類。 我也有一個index.xhtml,其中我有一個帶有用戶名和密碼字段的註冊表單。 所以,當用戶點擊註冊按鈕時,我應該檢查是否存在具有相同用戶名的用戶,如果不存在,我應該註冊用戶並將用戶重新定向到welcome.xhtml。如果註冊不成功,那麼用戶應該留在index.xhtml中。

我的問題是:

我有一個的index.xhtml和UserEntity.Java。但是還有什麼?我需要一個@ManagedBean的RegistirationFormBean嗎?而這RegistirationFormBean將有一個registerUser方法。那又怎麼樣?我有RegistirationFormControllerBean嗎?它應該是一個ManagedBean嗎?或者我需要一個UserRegistirationBean? UserRegistirationService?

那麼如何正確創建MVC?

回答

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); 
     } 
    } 
} 
+0

謝謝。所以UserDao.Java有一個UserEntity.Java? MyBean如何連接到我的xhtml頁面中的表單? – 2013-05-13 08:08:47

+0

https://netbeans.org/kb/docs/javaee/cdi-intro.html - 本教程將幫助您開始,您正在詢問最基本的東西 – 2013-05-13 08:12:16

+0

我在本教程中看不到任何MVC或數據庫連接,謝謝雖然。 – 2013-05-13 08:18:11