关于Java EE6中的@Model注解

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索string
, bean
, 注解
, model
, value
, requestscope
, java注解
, 一个
中的注解
java ee 6 libraries、java ee 6 api中文版、java ee 6、java ee6 library、java ee 6权威指南,以便于您获取更多的相关知识。

时间: 2024-12-05 02:46:32

关于Java EE6中的@Model注解的相关文章

基础-java 程序中如何获取所有类 或者带注解的类

问题描述 java 程序中如何获取所有类 或者带注解的类 最近写了一个使用注解的mvc的spring框架,这个框架的基础就是要读取到工程中的带有注解的类. 我的实现方法是将工程中的目录全部读取匹配得到.class后缀的所有路径的list,再用class.forname加载对应的类并且将注解读取判断是否为定义的注解.然后使用一个map装起来,在用到的时候拿出来.但是问题来了,我将项目打包jar之后程序是不能够读取到文件的.也就是说获取不到类的全路径如:cn.com.smq.Test 这样的字符串.

java中的元注解

  一.元注解的概念 java中有4个元注解:@Retention.@Target.@Document.@Inherited.所谓元注解就是注解的注解.     二.注解介绍   ①@Retention @Retention--注解的保留位置   注解仅存在于源码中,在class字节码文件中不包含 @Retention(RetentionPolicy.SOURCE)   默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得 @Retention(RetentionPolicy.C

把springxml配置改为在java类中注解的方式

问题描述 把springxml配置改为在java类中注解的方式 原因:使用spring-boot框架发布rest服务时出现中文乱码 解决方案 http://zhidao.baidu.com/link?url=3q7jr29bB_zAh8maEUxHuzon_6rXrXqKw_6m7VoaZ3GeH7_lsFSsdlml7BsCvEt7EZzE2QXgzF-_CXCsgtetX_ 解决方案二: 需要在web.xml中对请求的时间进行utf-8操作过滤: encodingFilterorg.spri

Java正则表达式(三)、代码量统计工具(统计java源文件中注释、代码、空白行数量)

       比如想统计一个Java程序员一天写代码的工作量(如:有效代码多少行.空行多少.注释多少行等),这个小工具也许能做为一个参考的依据.     思路:因为每个java源文件的内容基本包括java语句.空白行.注释三部份组成(不包括注解),所以要统计某个文件这三部份的内容各占多少时,只需写三个匹配这几部份内容的正则表达式即可.然后通过IO流读取文件中的每一行,并根据正则匹配的结果,累加每部份匹配的数量即可.     注释行:单行注释(//).多行注释.文档注释.正则:((//)|(/\\

界面-Java web中那些.class .jsp之类的文件的关系

问题描述 Java web中那些.class .jsp之类的文件的关系 要做一个javaweb登陆注册界面,那些Html.jsp.selvlet.和jdbc都是什么关系啊,感觉自己晕乎乎的 解决方案 不摘抄网上和教科书上的废话了,用最简单的话说说,希望你能理解: 一个网页,用户通过浏览器访问,浏览器是一个通用的软件,它只认识三样东西,css html 和 js(不是jsp),这些东西叫做前端. 其中html是从服务器上获取的,而无论是php jsp asp...不管是什么,本质上都是一个html

如何在非action的普通java类中调用service和dao来操作数据库

问题描述 如何在非action的普通java类中调用service和dao来操作数据库 web程序用的框架是SSH的,在spring.xml中通过方式自动扫描service和dao,现有一个后台消息处理类,要在该类调用其他service和dao进行一些业务和数据库的操作,使用@Autowired private BaseDaoI baseDao;引用dao,在调用时报空指针错误,请教大神们该怎么解决. 解决方案 你所谓的"后台消息处理类"也的用注解标注它是一个Bean才行啊 解决方案二

java代码中init method和destroy method的三种使用方式

在Java的实际开发过程中,我们可能常常需要使用到init method和destroy method,比如初始化一个对象(bean)后立即初始化(加载)一些数据,在销毁一个对象之前进行垃圾回收等等. 周末对这两个方法进行了一点学习和整理,倒也不是专门为了这两个方法,而是在巩固spring相关知识的时候提到了,然后感觉自己并不是很熟悉这个,便好好的了解一下. 根据特意的去了解后,发现实际上可以有三种方式来实现init method和destroy method. 要用这两个方法,自然先要知道这两

Java编程思想学习笔记——注解

前言 在Android开发的过程中,我们为了减少重复代码的编写,会使用类似ButterKnife,AndroidAnnotations 这类依赖注解库.代码示例如下: //不使用 Button btn = (Button)findViewById(R.id.btn); //使用ButterKnife @Bind(R.id.btn) Button btn; //使用AndroidAnnotations @ViewById(R.id.btn) Button btn; 可以看出通过注解,我们能大量减少

java抽象类中私有属性初始化之后与预期结果不一致

问题描述 java抽象类中私有属性初始化之后与预期结果不一致 背景是这样的,项目使用的是Spring MVC类与类之间是通过@Autowired注解进行 注入的,我有一个Email的抽象类 public abstract class Mail { protected boolean isEmailContentValid = true; } 然后有多个子类机型了这个Email抽象类,比如AEmail extends Mail public class MailFactory { @Autowir