Java 带有inputFile组件的JSF和CDI

Java 带有inputFile组件的JSF和CDI,java,jsf,cdi,Java,Jsf,Cdi,我使用组件为上传文件创建了一个简单的xhtml页面。一切正常。在托管bean中,我对记录器使用依赖注入。我在中使用了一个工厂类和createLogger()方法,以启用Logger类的对象的注入。 一切正常,但是,没有托管bean中的@Model注释,任何东西都无法工作 谁能解释一下@Model注释的含义吗 我在网上找不到合适的解释。其他注释的解释,如@Session、@Request、@Application等 @Model注释的作用是什么?Hej vmaric @Model==@Reques

我使用
组件为上传文件创建了一个简单的xhtml页面。一切正常。在托管bean中,我对
记录器使用依赖注入。我在中使用了一个工厂类和
createLogger()
方法,以启用
Logger
类的对象的注入。 一切正常,但是,没有托管bean中的
@Model
注释,任何东西都无法工作

谁能解释一下
@Model
注释的含义吗

我在网上找不到合适的解释。其他注释的解释,如
@Session
@Request
@Application

@Model
注释的作用是什么?

Hej vmaric

@Model
==
@RequestScoped
+
@Named

它直接向您的
jsf2
JSP
公开
backingbean
,其上下文将在servlet请求结束后被销毁

因此,它不应该用于实体

以下是来自以下方面的提示:


注意,控制器bean是请求范围和命名的。由于这种组合在web应用程序中非常常见,因此在CDI中有一个内置的注释,我们可以将其用作缩写。在类上声明(原型)注释@Model时,它会创建一个请求范围和命名bean

我可以把它放在那里@RequestScoped和@Named(“sample”)结束它和@Model一样吗?或者它可以是SessionScoped bean?那么模型注释的解释是什么呢?为什么我们需要它?在Servlet请求结束后,RequestScoped bean的上下文将被破坏,SessionScoped bean上下文将一直存在,直到Browsersession启动。是的,我现在这样做了。巴斯为什么我们需要@Model当我们有SessionScoped或RequesScoped注释时!为了节省时间,只写´@Model',而不写´@Named(“name”)´和´@RequestScoped´…我们可以将其用作速记。