Carregar objeto para utilizar na index

Pessoal Boa tarde,

Estou com uma dúvida simples, mas não estou achando uma estratégia para resolve-la.

Estou desenvolvendo um site (utilizando o STRUTS) e na index deste site eu terei que colocar algumas mensagens que estão armazenadas em um BD.

Até ai td bem, DAO fucionando bunitinho, fiz os testes pelo console e blz.

Preciso saber, como fazer para eu carregar esta mensagem do banco na minha index usando a JSTL, pelo que entendi teria que carregar tudo numa servlet ou numa action e trazer para a index, mas não estou entendendo como fazer.

Alguém poderia me ajudar ou me mandar algum exemplo para resolver este problema ?

[]s,
Eduardo Lima
elima.net@peoplemais.com.br

Qual sua dificuldade? Mapear a Action? Criar a Action ou entender como o Struts funciona?

Esta parte toda eu sei cara, o problema é só para carregar a index.

Ex.

o cara acessa o link www.site.com.br

Dai ele já acessa a index, neste momento, quando acessar a página, já terá que estar carregado todos os objetos dentro da index.

A index é um JSP normal, porém não quero colocar código java lá, queria que estivesse tudo carregado nela e pegaria via JSTL.

Deu para entender ?

[]s,
Eduardo Lima

Mágica?

Cria o seu index.htm como um frameset e chama num dos frame um “index.do” por exemplo.

como assim um frameset ?

Mas todas as vezes que ele entrar ele vai carregar, e voltar para a index, ai vai carregar e voltar de novo, e vai ficar num loop.

Entendeu o problema :frowning:

[]s,

Você pode colocar a index para redirecionar para uma action que pega os dados, ou trocar a página default para uma action.

Só como sugestão, não sei se dá certo, mas acho que talvez você consiga fazer isso num filter… alguém sabe se dá?

Frameset do HTML, oras!
http://www.w3.org/TR/html4/present/frames.html
Não tem nada de loop ai.

Ou faz como o amigo de cima. Use a index.htm para redirecionar para uma action, via javascript.

Não não, não queria colocar frames na aplicação…

Vou procurando a melhor forma aqui,

Valew

É só fazer um dos frames invisível e deixar o outro com 100%. Fizemos isso aqui.
E como disse o amigo antes, cria um index.htm vazio, redirecionando para um “index.do”, por exemplo.

Se vc está usando Struts e não quer utilizar Frames/IFrames você pode fazer o seguinte:

Crie uma index.jsp que contenha um logic:redirect para a sua action que será retornada e apresentada em uma welcome.jsp por exemplo.
Acho que isso resolve.

[]´s

Então, faça o seguinte, coloque na sua index.jsp um forward assim por exemplo

<%@ taglib uri="/tags/struts-logic" prefix=“logic” %>
<logic:redirect forward=“welcome”/>

ai no struts-config.xml vc coloca um forward para o welcome.do dentro dos global-forwards, ex:

ai vc coloca uma action para a ação Welcome.do:

ai no método execute da classe da ação WelcomeAction você pega as coisas que vc precisa do BD e insere no request como um atributo. ex:

execute(ActionMapping map, etc…,HttpServletRequest request){
MensagemDAO dao = new MensagemDAO();
String msg = dao.getMensagem();
request.setAttribute(“mensagem”,msg);

   return map.findForward("ok");

}

ai no Welcome.jsp vc exibe assim:

<c:out value="${mensagem}" />