Bom dia à todos !
Não consigo resolver o formato de data no jsf, alguém pode ajudar !
cadastroNotas.jsp
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Cadastro Notas</title>
</head>
<body>
<f:view>
<h:form>
<font color ="orange"><h1><h:outputText value="Cadastrar Notas"/></h1></font>
<h:messages/>
<h:panelGrid columns="3">
<h:outputText value="Professor:"/><br/>
<h:inputText value="#{disciplinaBean.discipina.professor.nome}" size="40" maxlength="100" required="true"/>
<h:outputText value="E-mail:"/><br/>
<h:inputText value="#{disciplinaBean.discipina.professor.email}" size="40" maxlength="100" required="true"/>
<h:outputLabel value="Titularização" for="titulo"/><br/>
<h:selectOneMenu value="#{disciplinaBean.discipina.professor.titulo}" id="titulo">
<f:selectItem itemValue="Pós-graduado"/>
<f:selectItem itemValue="Especialista"/>
<f:selectItem itemValue="Mestre"/>
<f:selectItem itemValue="Doutor"/>
<f:selectItem itemValue="PHD"/>
</h:selectOneMenu>
<h:outputText value="Disciplina:"/><br/>
<h:inputText value="#{disciplinaBean.discipina.nome}" size="40" maxlength="100" required="true"/>
<h:outputLabel value="Tipo de avaliação:" for="tipoAv"/> <br/>
<h:selectOneMenu value="#{disciplinaBean.discipina.tipoAvaliacao}" id="tipoAv">
<f:selectItem itemValue="Prova"/>
<f:selectItem itemValue="Trabalho"/>
<f:selectItem itemValue="Participação"/>
<f:selectItem itemValue="Apresentação"/>
<f:selectItem itemValue="Outros"/>
</h:selectOneMenu>
<h:outputText value="Nota:"/><br/>
<h:inputText value="#{disciplinaBean.discipina.nota}" size="12" maxlength="100" required="true"/>
<h:outputText value="Data da Avaliação:"/><br/> // ERRO NESSE CAMPO STACK TRACE LOGO ABAIXO
<h:inputText value="#{disciplinaBean.discipina.dataProva}" size="12" maxlength="100" required="true"> h
<f:convertDateTime pattern="dd/MM/yyyy"/>
</h:inputText>
<br/>
</h:panelGrid>
<h:commandButton value="Menu principal" action="menu" immediate="true"/>
<h:commandButton value="Adicionar" action="#{disciplinaBean.finalizarCadastroNotas()}"/>
</h:form>
</f:view>
</body>
</html>
--------------------------------------------------------------------------------------------------------------------------------
disciplinaBean
@ManagedBean
@SessionScoped
public class DisciplinaBean {
private Disciplina discipina;
ProfessorDAO professorDAO = new ProfessorDAO();
DisciplinaDAO disciplinaDAO = new DisciplinaDAO();
public DisciplinaBean() {
}
public String adicionarDisciplina(){
discipina = new Disciplina();
discipina.setProfessor(new Professor());
return "cadastroNotas";
}
public String finalizarCadastroNotas() throws SQLException, ClassNotFoundException{
JOptionPane.showMessageDialog(null, "teste acesso classe bean discipina");
professorDAO.adicionar(discipina.getProfessor());
disciplinaDAO.adicionar(discipina);
return "finalizaCadAluno";
}
/**
* @return the discipina
*/
public Disciplina getDiscipina() {
return discipina;
}
/**
* @param discipina the discipina to set
*/
public void setDiscipina(Disciplina discipina) {
this.discipina = discipina;
}
}
------------------------------------------------------------------------------------------------------------
disciplina.java
public class Disciplina implements java.io.Serializable {
private int codigo;
private String nome;
private String tipoAvaliacao;
private Date dataProva;
private float nota;
private Aluno aluno;
private Curso curso;
private Professor professor;
/**
* @return the codigo
*/
public int getCodigo() {
return codigo;
}
/**
* @param codigo the codigo to set
*/
public void setCodigo(int codigo) {
this.codigo = codigo;
}
/**
* @return the nome
*/
public String getNome() {
return nome;
}
/**
* @param nome the nome to set
*/
public void setNome(String nome) {
this.nome = nome;
}
/**
* @return the tipoAvaliacao
*/
public String getTipoAvaliacao() {
return tipoAvaliacao;
}
/**
* @param tipoAvaliacao the tipoAvaliacao to set
*/
public void setTipoAvaliacao(String tipoAvaliacao) {
this.tipoAvaliacao = tipoAvaliacao;
}
/**
* @return the aluno
*/
public Aluno getAluno() {
return aluno;
}
/**
* @param aluno the aluno to set
*/
public void setAluno(Aluno aluno) {
this.aluno = aluno;
}
/**
* @return the curso
*/
public Curso getCurso() {
return curso;
}
/**
* @param curso the curso to set
*/
public void setCurso(Curso curso) {
this.curso = curso;
}
/**
* @return the professor
*/
public Professor getProfessor() {
return professor;
}
/**
* @param professor the professor to set
*/
public void setProfessor(Professor professor) {
this.professor = professor;
}
/**
* @return the nota
*/
public float getNota() {
return nota;
}
/**
* @param nota the nota to set
*/
public void setNota(float nota) {
this.nota = nota;
}
/**
* @return the dataProva
*/
public Date getDataProva() {
return dataProva;
}
/**
* @param dataProva the dataProva to set
*/
public void setDataProva(Date dataProva) {
this.dataProva = dataProva;
}
}
STACK TRACE
javax.faces.component.UpdateModelException: org.apache.jasper.el.JspELException: /cadastroNotas.jsp(58,20) ‘#{disciplinaBean.discipina.dataProva}’ Cannot convert 02/02/11 00:00 of type class java.util.Date to class java.sql.Date
at javax.faces.component.UIInput.updateModel(UIInput.java:853)
at javax.faces.component.UIInput.processUpdates(UIInput.java:735)
at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1113)
at javax.faces.component.UIForm.processUpdates(UIForm.java:272)
at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1113)
at javax.faces.component.UIViewRoot.processUpdates(UIViewRoot.java:1224)
at com.sun.faces.lifecycle.UpdateModelValuesPhase.execute(UpdateModelValuesPhase.java:78)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:394)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)
Caused by: org.apache.jasper.el.JspELException: /cadastroNotas.jsp(58,20) ‘#{disciplinaBean.discipina.dataProva}’ Cannot convert 02/02/11 00:00 of type class java.util.Date to class java.sql.Date
at org.apache.jasper.el.JspValueExpression.setValue(JspValueExpression.java:98)
at javax.faces.component.UIInput.updateModel(UIInput.java:818)
… 28 more
obs.: LEMBRANDO QUE IMPORTEI O PACOTE NA CLASSE DISCIPLINA.JAVA COMO - import java.sql.Date;