MyEclipse開發JSF之創建Managed Beans淺析
MyEclipse開發JSF三.創建Message Bundle
Message Bundle文件是一個簡單的屬性文件,存儲與keys相關的消息,提供國際化支持,也可以用在JSP頁面中。Struts也提供了類似的文件ApplicationResources.properties。
在JSF中,可以在頁面中加載message bundle使用如下代碼:﹤f:loadBundle basename="com.jsfdemo.MessageBundle" var= "bundle"/﹥
在創建message bundle文件之前,在src文件中通過右鍵選擇“New ﹥ Package”來創建com.jsfdemo包。使用新鍵文件向導來創建message bundle文件,如圖3.1:
MyEclipse開發JSF圖1
Figure 3.1: Creating the Message Bundle file
創建完MessageBundle.properties文件以后,要添加在JSP頁面顯示的每個標簽的key/value對或者是文本字符串。可以復制下面中的內容到message bundle文件中。
MessageBundle.properties
user_name_label=User Name:
user_password_label=Password:
login_button_label=Login
MessageBundle.properties文件的內容
MessageBundle文件創建完以后,下一步,我們要創建ManagedBean以處理用戶登錄。
MyEclipse開發JSF四.創建 Managed Beans
這部分我們將創建Managed Beans來執行login操作,在這個Demo中,登錄操作就是簡單的核對用戶名和密碼是否都是myeclipse,并將頁面轉向到userLoginSuccess.jsp。
首先用MyEclipse JSF Editor打開faces-config.xml文件
MyEclipse開發JSF圖2
Figure 4.1: Opening faces-config.xml file for editing
點擊右上角的Add ManagedBean來添加新的bean,如圖所示:
MyEclipse開發JSF圖3
Figure 4.2: Launch the ManagedBean wizard from the Outline View
點擊以后出現新的Managed Bean向導,如圖所示添加值
MyEclipse開發JSF圖4
Figure 4.3: Setup the new ManagedBean's class and properties
MyEclipse開發JSF圖5
Figure 4.4: Managed Bean Wizard Final Page
點擊完成以后,發現在Outline View中新增加了一個UserBean.
MyEclipse開發JSF圖6
Figure 4.5: UserBean now shown in the Outline View
UserBean.java的源代碼也出現在 java編輯器中。
MyEclipse開發JSF圖7
Figure 4.6: UserBean Java source opened up in an editor
Username 和password的setters和getters方法已經為我們產生了,接下來就是要在這個類中增加一個方法loginUser來處理用戶登錄的操作。
代碼如下所示:
UserBean.java
- public String loginUser() ...{
- if("myeclipse".equals(getUserName()) && "myeclipse".equals(getPassword()))
- return "success";
- FacesContext facesContext = FacesContext.getCurrentInstance();
- FacesMessage facesMessage = new FacesMessage(
- "You have entered an invalid user name and/or password");
- facesContext.addMessage("loginForm", facesMessage);
- return "failure";
- }
我們注意到,UserBean類沒有繼承任何JSF的類或接口,它只是一個簡單的JavaBean包括額外邏輯來執行操作。他包括了類似Struts中的Struts Form 和 Struts Action的功能,將二者集成到一個類中.
另外,這些方法并沒有返回到指定的類,像Struts中的ActionForward那樣。
MyEclipse開發JSF之創建Managed Beans就向你介紹到這里,那么之后我們將繼續向你介紹MyEclipse開發JSF的其他步驟。
【編輯推薦】