我使用<h:inputFile>
组件为上传文件创建了一个简单的xhtml页面。一切正常。在托管bean中,我使用了Logger
的依赖注入。我使用了工厂类和createLogger()
方法来为Logger
类的对象启用注入。
一切都还可以,但是如果托管bean中没有@Model
注释,则无效。
有人可以解释@Model
注释的含义。
我无法在互联网上找到正确的解释。其他注释的创建说明,如@Session
,@Request
,@Application
等。
@Model
注释有什么作用?
答案 0 :(得分:1)
Hej vmaric,
@Model
== @RequestScoped
+ @Named
它直接将Backing Bean
公开给您的JSF 2
或JSP
,并且在servlet请求结束后它的上下文将被销毁。
所以它不应该用于实体。
的提示请注意,控制器bean是请求范围的并且已命名。由于这种组合在Web应用程序中非常常见,因此在CDI中有一个内置的注释,我们可以将其用作速记。当(类型)注释@Model在类上声明时,它会创建一个请求范围的命名bean。