Pessoal este é meu primeiro topico aqui no forum e ja peço desculpas por alguma falha que eu possa vir a cometer
Seguinte, estou estudando JSF e estou com um erro que não estou conseguindo resolver.
Abaixo a descrição:
É um exercicio da apostial da K19, no qual inserido um numero na primeira view, o bean deve devolver um numero aleatorio entre 0 e o numero inserido na segunda view.
O erro ocorre quando clico no commandbutton que deveria chamar o metodo GeraNumeroAleatorio no bean.
Bean
package bean;
import javax.faces.bean.ManagedBean;
@ManagedBean
public class NumeroAleatorioBean {
public int maximo;
public int numeroAleatorio;
public String geraNumeroAleatorio(){
this.numeroAleatorio= (int)(Math.random()*this.maximo);
return "Resposta";
}
public void setMaximo(int maximo){
this.maximo = maximo;
}
public int getNumeroAleatorio(){
return this.numeroAleatorio;
}
}
Primeira view:
<!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"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>Gera Numero Aleatorio</h:head>
<h:body>
<h:form>
<h:outputLabel value="Numero Maximo" />
<h:inputText value="#{bean.numeroAleatorioBean.maximo}" />
<h:commandButton value="Gera Numero Aleatorio" action="#{bean.numeroAleatorioBean.geraNumeroAleatorio}" />
</h:form>
</h:body>
</html>
Segunda View:
<!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"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>Gera Numero Aleatorio</h:head>
<h:body>
<h:outputText value="#{bean.numeroAleatorioBean.numeroAleatorio}" />
</h:body>
</html>
Erro:
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: /Formulario.xhtml @12,60 value="#{bean.numeroAleatorioBean.maximo}": Target Unreachable, identifier 'bean' resolved to null
javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
root cause
javax.el.PropertyNotFoundException: /Formulario.xhtml @12,60 value="#{bean.numeroAleatorioBean.maximo}": Target Unreachable, identifier 'bean' resolved to null
com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95)
javax.faces.component.UIInput.getConvertedValue(UIInput.java:1030)
javax.faces.component.UIInput.validate(UIInput.java:960)
javax.faces.component.UIInput.executeValidate(UIInput.java:1233)
javax.faces.component.UIInput.processValidators(UIInput.java:698)
javax.faces.component.UIForm.processValidators(UIForm.java:253)
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1172)
com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
note The full stack trace of the root cause is available in the JBoss Web/7.0.13.Final logs.
JBoss Web/7.0.13.Final
Eu sei que é um erro simples, mas ja pesquisei bastante e não consegui resolver.
Abraço a todos.