JSF 및 CDI를 사용하여 간단한 "hello world"테스트를 만들려고하지만 JSF 페이지에서 CDI bean의 변수를 표시하지 않습니다. bean이 관리 Bean으로 변경되면 변수가 표시됩니다.JSF 페이지에서 CDI bean의 변수를 검색하지 않습니다.
테스트는 Apache MyFaces 2.1.5를 사용하며 WebSphere Application Server 8.5에서 실행 중입니다.
의심 할만한 간단한 이유가 있지만 관리 빈과 작동하지만 CDI 빈이 아닌 이유를 확인할 수 없었습니다. 누군가 내가 잘못 가고 있다고 제안 할 수 있습니까?
이 test.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:body>
<h:outputText>#{testBean.myval}</h:outputText>
</h:body>
</html>
TestBean.java
import javax.inject.Named;
import javax.enterprise.context.RequestScoped;
@Named
@RequestScoped
public class TestBean {
private String myVal = "Hello World";
public String getMyVal() {
return myVal;
}
public void setMyVal(String myVal) {
this.myVal = myVal;
}
}
나는 또한 빈 콩을 만든 다음
시험에있는 파일의 내용은 .xml 파일은 WEB-INF에 있습니다.
나는 오래 동안 수색을 해왔다. 그리고 마침내 내 응용 프로그램이 컨테이너에 의해 제공되는 myfaces 대신 mojarra를 사용한다는 것을 알게되었습니다. 고맙습니다 –