Boa tarde pessoal, estou com o seguinte problema:
Estou tentando fazer um exemplo muito simples com Weld, o que ocorre e o seguinte,
ao executar o projeto, meu xhtml referencia um atributo la no bean atraves das El, só que não consigo pegar valor do mesmo.
Na pagina não e apesentado nada, creio que não esta conseguindo enxergar o bean.
Não é apresentado nenhum erro na console.
Os jars estão todos corretos : weld-servlet-1.1.10.Final.jar , javax.faces-2.1.22.jar
Veja:
PrecoProduto.xhtml
<?xml version="1.0" encoding="UTF-8" ?>
<!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:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</h:head>
<h:body>
<h:outputText value="#{meuBean.preco}" />
</h:body>
</html>
PrecoProdutoBean.java
package controller;
import java.io.Serializable;
import javax.faces.bean.RequestScoped;
import javax.inject.Inject;
import javax.inject.Named;
import service.CalculadoraPreco;
@Named("meuBean")
@RequestScoped
public class PrecoProdutoBean implements Serializable {
private static final long serialVersionUID = 1L;
@Inject
private CalculadoraPreco calculadora;
public double getPreco() {
System.out.println("Entrou no metodo");
return calculadora.calcularPreco(12, 44.55);
}
}
CalculadoraPreco.java
import java.io.Serializable;
public class CalculadoraPreco implements Serializable {
private static final long serialVersionUID = 1L;
public double calcularPreco(int quantidade, double precoUnitario) {
return quantidade * precoUnitario;
}
}
web.xml (Weld)
<listener>
<listener-class>org.jboss.weld.environment.servlet.Listener</listener-class>
</listener>
<resource-env-ref>
<resource-env-ref-name>BeanManager</resource-env-ref-name>
<resource-env-ref-type>javax.enterprise.inject.spi.BeanManager</resource-env-ref-type>
</resource-env-ref>
context.xml (META-INF)
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="BeanManager"
auth="Container"
type="javax.enterprise.inject.spi.BeanManager"
factory="org.jboss.weld.resources.ManagerObjectFactory" />
</Context>
beans.xml (META-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>
pom.xml (Maven )
<dependencies>
<!-- Weld (implementação do CDI) -->
<dependency>
<groupId>org.jboss.weld.servlet</groupId>
<artifactId>weld-servlet</artifactId>
<version>1.1.10.Final</version>
</dependency>
Espero por dicas !!! valeu galera…