我创建了这个简单的 CDI bean:
import java.io.Serializable;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.inject.Named;
@Named("DashboardController")
@ViewScoped
public class Dashboard implements Serializable
{
.......
}
我从 faces-config.xml 中删除了所有配置。我将此 beans.xml 文件创建到 WEB-INF 目录中:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
</beans>
当我打开 JSF 页面时,找不到 bean。你能告诉我我错过了什么吗?我不想将 bean 声明为 faces-config.xml。
PS 我不知道这是否重要,但这是一个带有 CDI bean 的 WAB 包。