【问题标题】:@Named annotation not working [duplicate]@Named 注释不起作用[重复]
【发布时间】:2013-12-21 00:00:02
【问题描述】:

我在使用@Named 注释时遇到了一些问题。例如下面的 bean 工作正常,它接收并上传文件:

@ManagedBean
@RequestScoped
public class Bean {
private UploadedFile uploadedFile;

public void submit() throws IOException {
    String fileName = FilenameUtils.getName(uploadedFile.getName());
    String contentType = uploadedFile.getContentType();
    byte[] bytes = uploadedFile.getBytes();

    // Now you can save bytes in DB (and also content type?)

    FacesContext.getCurrentInstance().addMessage(null, 
        new FacesMessage(String.format("File '%s' of type '%s' successfully uploaded!", fileName, contentType)));
}

public UploadedFile getUploadedFile() {
    return uploadedFile;
}

public void setUploadedFile(UploadedFile uploadedFile) {
    this.uploadedFile = uploadedFile;
}

}

但是,如果我将 @ManagedBean@RequestedScope 替换为 @Named@RequestScoped,则会出现以下异常:

javax.el.PropertyNotFoundException:目标无法到达,标识符“bean”解析为 null

我知道@Named 我是否在我的 Netbeans 项目中设置了不正确的版本或类似的东西?我也在 Glassfish 4 服务器上进行部署。

谢谢

【问题讨论】:

  • 我认为另一个问题应该被标记为“重复”,因为它是在上述之后提出的。

标签: jakarta-ee annotations cdi


【解决方案1】:

您是否有 CDI 1.1 需要的 beans.xml

【讨论】:

  • 啊不。我试试看……
  • CDI 1.1 默认检测隐式 bean。 Ì如果你有@Named @RequestScoped,那么beans.xml不应该是被发现的bean。
  • 我现在有另一个关于 CDI 和战斧的问题,但我已经在这里作为一个新问题开始 stackoverflow.com/questions/20719382/tommahawk-myfaces-and-cdi
猜你喜欢
  • 2013-02-28
  • 2013-10-22
  • 2014-08-14
  • 1970-01-01
  • 1970-01-01
  • 2015-07-20
  • 1970-01-01
  • 2013-09-20
  • 2020-10-09
相关资源
最近更新 更多