程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 關於Java EE6中的@Model注解

關於Java EE6中的@Model注解

編輯:關於JAVA

===@Model注解的用途 @Model注解做了如下的事情:

使bean擁有request-scoped周期范圍(取代默認的@dependent)給bean一個EL命名

創建一個請求范圍並且賦予命名的bean,就像一個標注有@RequestScoped和@Named的類,自從這樣的注解組合頻繁的出現在Web應用中,CDI就提供了內建的注解@Model方便使用。

//@Model例子
    
 @Model public class SampleBean { 
   private String value; 
   public String getValue() { 
     return value; 
   } 
   public String setValue(String value) { 
      this.value = value; 
   } 
}

現在這個bean可以在JSF視圖中使用了:

<h:inputText value="#{sampleBean.value}"  />

通常如果你想在JSF頁面中通過EL命名訪問bean,你可能需要給類標注@Dependent注解。否則,任何通過JSF input設置的值都會立即失效。這樣是為什麼CDI提供了@Model類型;它讓你給bean一個命名,並且一舉設置bean的周期為@RequestScoped。如果你確實在@dependent周期裡通過JSF頁面中訪問一個bean,注入一個不同的bean,通過getter方法來保留給EL。

一個stereotype是用來聚合其它注解的注解。@Model是一個CDI內置stereotype,定義如下:

@Named @RequestScoped @Stereotype @Target({TYPE, METHOD}) @Retention(RUNTIME) public @interface Model {}

@Modelstereotype注解應該頻繁的應用在web應用中。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved