[b]Pessoal to com uma dúvida, eu tenho um bean com uma propriedade List
[code]
Mas nada aparece, o que fazer??
JSF, LinkedList e forEach Jstl
7 Respostas
- Veja se vc incluiu no cabeçalho
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
Nota: NÃO ADIANTA se for o http://java.sun.com/jstl/core, ok?
-
Se não for JSP 1.2 e JSTL 1.1, provavelmente não funciona.
-
As coisas em JSP(como o c) são acessadas por “$”, e não “#”
<c:forEach items="${cadastro.usuarios}" var="user">
Pro “h” e “f”, são com “#”
Manjou?
- Se nada disso funcionar, use as tags de repetição do JSTL, como o dataTable e o dataList. Tive esperiências peculiares misturando “c” com “f”, então acontece de não funcionar da maneira esperada. Depois de JSP, nem sempre dá pra usar o JSTL, então tente também:
<c:forEach items="${cadastro.usuarios}" var="user">
<c:out value="${user.nome}"/>
</c:forEach>
OK entendi. Já funcionou! brigado Cintia.
É, essa ligação do JSP com o JSTL é no mínimo peculiar 8)
Na verdade com JSF 1.2 e JSP 2.1 a EL tornou-se unificada, ou seja, tanto faz utilizar # ou $.
Um coisa que se deve ter em mente é que JSTL é executado como build-time, ou seja, na construção da árvore de componentes. JSTL não é ideal para cuidar da renderização, para isso existem os componentes visuais do JSF e algumas tags do Facelets, como a ui:repeat.
Abraços!
Moçada, estou com uma dúvida, espero que possam me ajudar:
Tenho abaixo um método que lista um objeto do tipo empresa, e gostaria de mostrar os valores em uma página jsp, de preferencia através de JSTL, vocês podem me ajudar?
public Empresa pesquisa(String nome) throws SQLException {
É este o DAO:
ResultSet rs = getResultSet(nome);
Empresa empresa = new Empresa();
if (rs.next()) {
empresa = new Empresa();
empresa.setCod_empresa(rs.getLong(“cod_empresa”));
empresa.setNome(rs.getString(“nome”));
empresa.setTelefone(rs.getString(“Telefone”));
empresa.setEmail(rs.getString(“Email”));
empresa.setRamodeatividade(rs.getString(“Ramodeatividade”));
empresa.setSite(rs.getString(“Site”));
empresa.setEndereco(rs.getString(“Endereco”));
empresa.setDescricao(rs.getString(“descricao”));
}
rs.close();
return empresa;
}
/**
* Consulta um objeto Empresa com o parametro nome da Empresa
* usando like para banco de dados
* @param nome
* @return
* @throws SQLException
*/
public List<Empresa> pesquisaEmpresas(String nome) throws SQLException {
List<Empresa> empresas = new ArrayList<Empresa>();
ResultSet rs = getResultSet(nome);
while (rs.next()) {
empresas.add(pesquisa(nome));
}
return empresas;
}
public ResultSet getResultSet(String nome) throws SQLException{
String sql = "select * from empresa where nome like '"
+ nome + "%'";
PreparedStatement stmt = this.connection.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
return rs;
Esta é a Servlet:
package br.com.lza.mvc;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.lza.jdbc.dao.EmpresaDAO;
import br.com.lza.jdbc.modelo.Empresa;
public class PesquisaEmpresaLogic implements BusinessLogic {
@Override
public void execute(HttpServletRequest request, HttpServletResponse response)
throws Exception {
System.out.println("Executando a lógica e redirecionando...");
List<Empresa> empresas = new ArrayList<Empresa>();
String nome = (request.getParameter("nome"));
request.setAttribute("nome", nome);
EmpresaDAO empresadao;
try {
empresadao = new EmpresaDAO();
empresas = empresadao.pesquisaEmpresas(nome);
request.setAttribute("empresa", empresas);
RequestDispatcher rd = request
.getRequestDispatcher("visao/resultpesq.jsp");
rd.forward(request, response);
} catch (SQLException e) {
}
}
}
smnj,
Dica: abra um novo tópico, use a tag ‘code’ para colocar os trechos de código e por favor, explique QUAL é o problema, o que está acontecendo de errado e etc.
a página é listada, mas, sem dados.