JavaEE6 FAQs 之@Model

          原文鏈接: http://seamframework.org/Documentation/WhatIsThePurposeOfTheModelAnnotation

          ===@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應用中。


          posted on 2011-07-12 14:14 kuuyee 閱讀(1709) 評論(0)  編輯  收藏 所屬分類: CDIJEE

          導航

          <2011年7月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          統計

          隨筆分類(139)

          Linux內核

          搜索

          •  

          積分與排名

          • 積分 - 319931
          • 排名 - 178

          最新評論

          閱讀排行榜

          主站蜘蛛池模板: 印江| 甘南县| 泰顺县| 屏东县| 新巴尔虎左旗| 南京市| 杭州市| 鲁山县| 兴安县| 屏东县| 嘉义市| 合水县| 曲沃县| 乐昌市| 临澧县| 永泰县| 汾阳市| 鲁甸县| 西林县| 都昌县| 教育| 曲靖市| 永兴县| 太仆寺旗| 汉阴县| 江西省| 西宁市| 朝阳县| 彭州市| 英吉沙县| 宁安市| 绿春县| 买车| 柳林县| 永州市| 华蓥市| 昭苏县| 皋兰县| 伊宁市| 新闻| 加查县|