Struts e JSTL

Saudações Pessoal,
Sou novo aqui, e sou novo com Struts também.

Gostaria de saber o que é mais recomendável:
Usar as TagLibs do Struts ou usar JSTL?

Qual dos dois vcs vem usando, e porque?
Preciso aumentar minha visão quanto a Struts, e uma das minhas grandes dúvidas é saber qual dos dois usar na minha camada de apresentação.

Sou muito grato!

Acho que isso vai muito da preferência pessoal…

As Taglibs do Struts tem algumas facilidades de integração com os recursos do framework que obviamente você não vai encontrar na JSTL, mas se você se sentir mais à vontade usando a JSTL, dá pra usar sem problemas…

[]'s

Muito obrigado pela opinião Caio!

Você poderia me dar exemplos de algumas das facilidades das TagLibs do Struts que eu não encontrarei se utilizar JSTL?

Eu preciso saber claramente as maiores facilidades de cada um.
Você poderia me dar exemplos?

Sou muito grato!
Aldo Luís

<html:errors />

Nesse caso, sugiro que vc dê uma olhada no site de cada um, pra informações mais precisas. Não conheço muito de JSTL pra te dar uma opinião concisa.

http://struts.apache.org/userGuide/
http://java.sun.com/products/jsp/jstl/

[]'s!

Sou muito grato Caio!

Eu já trabalho com JSTL. Realmente ele agiliza muito, e deixa o código muito limpo no JSP.

Agora vou analisar estes links para ver quais seriam as vantagens das Tags do Struts sobre o JSTL

Sou Grato,

[quote=“Aldo Luís”]Sou muito grato Caio!

Eu já trabalho com JSTL. Realmente ele agiliza muito, e deixa o código muito limpo no JSP.

Agora vou analisar estes links para ver quais seriam as vantagens das Tags do Struts sobre o JSTL

Sou Grato,[/quote]

Só para complementar, no livro Struts em Ação, ou autor comenta que para se obter uma melhor performance, o desenvolvedor terá que agregar a JSTL junto na aplicação até porque as tags do Struts não fazem tudo.

Olá Lucas!
Poderia me dar um exemplo do que a tag do Struts não faz que o JSTL teria q complementar?

Quanto a performance, vc quer dizer que usar as tags do Struts ao invés de JSTL fará com que os JSPs processem ligeiramente mais lento?

Pelo que estou entendendo, a melhor forma é usar os 2, um complementando o outro… agora preciso saber qual o melhor papel para cada um.

Sou muito grato!

Uma dica as dúvidas relacionadas pode estar neste artigo:

:arrow: http://www.powerlogic.com.br/ecp/files.do?evento=download&urlArqPlc=tirando_max_struts_parte1.pdf

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” >












</logic:iterate>
<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”/>
[/list]

2- Mas qdo quero fazer o mesmo com JSTL, nenhum dado aparece:

[list]


<c:forEach var=“contato” items=“contatos” >












</c:ForEach>
${contato.nome} ${contato.sobreNome} ${contato.apelido} ${contato.fone} ${contato.celular} ${contato.empresa} ${contato.cargo} ${contato.ramal}
[/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.

Boa tarde amigos, desculpem me pela pergunta anterior…

Já resolvi o meu caso.

O fato é que no meu web.xml eu tinha que especificar a versão 2.4 na minha tag web-app, tipo:

[list]<?xml version="1.0" encoding="UTF-8"?>

<web-app id=“MinhaWebApp” [color=red]version=“2.4”[/color]
xmlns=“http://java.sun.com/xml/ns/j2ee
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation=“http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd”>

Minha aplicação

[/list]

Percebendo isso, mudei e já está funcionando…foi falta de atenção, mas agora está tudo beleza.

Valeu!!!