Bom dia amigos,
Gostaria de saber o que pode estar errado qdo eu tento substituir as tags do Struts por JSTL e os dados não aparecem, vou exemplificar:
1- Tenho um JSP: listacontatos.jsp;
2- Tenho uma Action chamada ActionSelectContatos;
3- Configuro as ações de Forward para o diretório path="/pages/listacontatos.jsp".
Vamos ao JSP:
1- Quando uso Struts Tags funciona belezinha, como segue no código:
[list]
<logic:iterate id=“contato” name=“contatos” type=“br.com.sisupi2.JavaBeans.Contatos” >
<bean:write name=“contato” property=“nome”/> |
<bean:write name=“contato” property=“sobreNome”/> |
<bean:write name=“contato” property=“apelido”/> |
<bean:write name=“contato” property=“fone”/> |
<bean:write name=“contato” property=“celular”/> |
<bean:write name=“contato” property=“empresa”/> |
<bean:write name=“contato” property=“cargo”/> |
<bean:write name=“contato” property=“ramal”/> |
</logic:iterate>
[/list]
2- Mas qdo quero fazer o mesmo com JSTL, nenhum dado aparece:
[list]
<c:forEach var=“contato” items=“contatos” >
${contato.nome} |
${contato.sobreNome} |
${contato.apelido} |
${contato.fone} |
${contato.celular} |
${contato.empresa} |
${contato.cargo} |
${contato.ramal} |
</c:ForEach>
[/list]
Não consigo descobrir o que está errado, portanto vim até aqui ver se algum dos amigos já topou com algo assim e teria alguma dica.
Meu struts-config.xml contém as ações default, mas eu adicionei uma nova ação para a minha jsp:
[list]
[/list]
No meu web.xml tenho:
[list]
action
org.apache.struts.action.ActionServlet
config
/WEB-INF/struts-config.xml
2
action
*.do
[/list]
Minha classe Action é:
[list]import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import br.com.sisupi2.JavaBeans.Contatos;
import br.com.sisupi2.JavaBeans.ObjectDAO;
public class ActionSelectContatos extends Action {
public ActionForward execute(ActionMapping map,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
List<Contatos> lista = new ObjectDAO().getSelect();
request.setAttribute("contatos", lista);
if(lista.isEmpty()) {
return map.findForward("vazia");
}
else {
return map.findForward("lista");
}
}
}[/list]
Os demais recursos que implementei estão funcionando, pois eu sempre reuso-os e não tenho nenhum problema com eles.
Resumindo, minha pergunta é:
Por que, quando uso Struts Tags os dados são listados e, quando uso JSTL nada aparece?
Agradeço a todos, desde já!
Abraços.