Rapapel
Faça assim.
<select name="fornecedores.nomeFornecedor">
<c:forEach var="fornecedor" items="${fornecedores}">
<option value="${fornecedor.codigo}">${fornecedor.nomeFornecedor}</option>
</c:forEach>
</select>
Itens é o nome do atributo na sua “action” que tem uma lista, array, etc… para ser exibido.
rsakurai
Oi Diogo,
No método lista() vc está apenas populando a List fornecedores. Você também precisa criar um método get para pegar a lista no jsp (via JSTL + EL).
Faz o seguinte cria o método:
public List<Fornecedores> getFornecedores() {
return this.fornecedores;
}
e na sua pagina coloca assim:
<select name="selectFornecedores">
<c:forEach var="fornecedor" items="${fornecedores}">
<option value="${fornecedor.codigo}">${fornecedor.nomeFornecedor}</option>
</c:forEach>
</select>
Rapapel
Verdade esqueci de mencionar o getFornecedores que se faz necessário para que funcione.
diogoprosoft
Galera esta dando esse erro sempre que coloco ${fornecedores] no items
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: javax.servlet.jsp.JspTagException: Don't know how to iterate over supplied "items" in <forEach>
org.vraptor.VRaptorServlet.service(VRaptorServlet.java:87)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
javax.servlet.ServletException: javax.servlet.jsp.JspTagException: Don't know how to iterate over supplied "items" in <forEach>
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:852)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.frmFornecedores_jsp._jspService(frmFornecedores_jsp.java:143)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
O que pode ser
diogoprosoft
Resolvido:
Ficou assim:
LOGIC
@Out
private List<Fornecedores> fornecedores;
@Logic(parameters="fornecedores")
public void lista(Fornecedores fornecedores) throws Exception {
PersistenciaDAO persiste = new PersistenciaDAO();
List<Fornecedores> list = persiste.listar(Fornecedores.class);
this.fornecedores = list;
}
public List<Fornecedores> getFornecedores() {
return fornecedores;
}
public void setFornecedores(List<Fornecedores> fornecedores) {
this.fornecedores = fornecedores;
}
JSP
<select id="codFornecedor" name="fornecedores.codigo" onchange="alert(document.getElementById('codFornecedor').value);">
<c:forEach var="f" items="${fornecedores}">
<option value="${f.codigo}">${f.nomeFornecedor}</option>
</c:forEach>
</select>