Estou usando o Eclipse 3.4.0 e Apache 5.5.
Estou desenvolvendo em MVC.
No jsp
<jsp:useBean id=“dao” class=“br.direito.defesas.dao.ContatoDAO” />
<select name='selOri'>
<option>Escolha o Professor</option>
<c:forEach var="contatoprofessores" items="${dao.lista_p}">
<font size= 1>
<option value=${contatoprofessores.nome_professor}>${contatoprofessores.nome_professor}
</option>
</font>
</c:forEach>
</select>
Há duas coisas estranhas, no Eclipse aparece um erro dizendo:
“taglib directive for “c” does not exist or TLD is not found”
Porém o código roda normalmente.
Até aí, ok
Quando altero para contatoprofessores.idp no lugar de contatoprofessores.nome_professor
O pau acontece de fato.
exception
javax.servlet.ServletException: Unable to find a value for “idp” in object of class “br.direito.defesas.ContatoProfessores” using operator “.”
root cause
javax.servlet.jsp.el.ELException: Unable to find a value for “idp” in object of class “br.direito.defesas.ContatoProfessores” using operator “.”
O interessante é q:
package br.direito.defesas;
public class ContatoProfessores {
private String nome_professor;
private Integer depto;
private boolean casa;
private Integer idp;
public Integer getIdp() {
return idp;
}
public void setIdp(Integer idp) {
this.idp = idp;
}
public boolean isCasa() {
return casa;
}
public void setCasa(boolean casa) {
this.casa = casa;
}
public String getNome_professor() {
return nome_professor;
}
public void setNome_professor(String nome_professor) {
this.nome_professor = nome_professor;
}
public void setDepto(Integer depto){
this.depto=depto;
}
public Integer getDepto(){
return depto;
}
}
O idp está ái…
Essa é a lista que está em ContatoDAO para gerar a informação:
public List<ContatoProfessores>getLista_p() throws SQLException{
PreparedStatement stmt=this.connection.prepareStatement("SELECT * FROM professores order by professores.nome_professor");
ResultSet rs=stmt.executeQuery();
List<ContatoProfessores> list_p = new ArrayList<ContatoProfessores>();
while(rs.next()){
ContatoProfessores contato_p = new ContatoProfessores();
contato_p.setIdp(rs.getInt("idp"));
contato_p.setDepto(rs.getInt("depto"));
contato_p.setCasa(rs.getBoolean("casa"));
contato_p.setNome_professor(rs.getString("nome_professor"));
list_p.add(contato_p);
}
rs.close();
stmt.close();
return list_p;
}
O interessante é que se eu trocar a chamada para trazer depto, casa ou nome_professor funciona, só dá problema com o idp.
Alguém me poderia ajudar?





