===@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权威指南,以便于您获取更多的相关知识。