Iniciante Struts Jsp

12 respostas
JPinhead

Olá pessoal…

tem como chamar uma função diretamente em um jsp… por exemplo…

na minha index.jsp vou precisar mostrar alguns dados do usuário logado…
não quero usar scriptlets para fazer isso…

como faço para chamar uma função do DAO diretamente no jsp?

tem sempre q usar uma action?

12 Respostas

Giulliano

cara…assim como vc eu tb estou iniciando em struts…

e o que diz os bons modos é que vc deve sempre separar as camadas

M.V.C.

Portanto não seria correto vc chamar ou escrever códigos java na camada view…a maneira certo seria criar um servlet e chamar através da configuração do struts-xml…

até onde eu estudei é isso…rsss

[/]'s

JPinhead

entendo que pelos “bons modos” não devo executar código java nos jsp… foi exatamente essa minha pergunta , quero fazer isso sem usar scriptlets…

você falou

“criar um servlet e chamar através da configuração do struts-xml”

teria como me dar um exemplo mais claro?

C

use as taglibs do struts, com elas vc consegue acessar objetos da sua action.

não use os scriptlets… as taglibs estão aí pra manter o MVC

JPinhead

ok

clauber.ferreira

seria demais pedir um exemplo??

sei que o pessoal do guj é adepto do “não de o peixe, ensine pescar!” mas estou a horas tentando fazer isso… sei que não é complicado… só preciso de um exemplo…

quero chamar uma função da minha calsse DAO… dentro de uma página jsp… (utilizando mvc)

valeu pessoal…

bonfarj

Use JSTL para exibir essas informações, é muito melhor. Se nunca mexeu com JSTL eu recomendo aprender, além de facilitar as coisas é um padrão muito utilizado.

Qualquer coisa não deixe de perguntar.

abraços! :wink:

JPinhead

^UP

Giulliano

cara eu não conheço essa filosofia de peixe sua ae não…a glr sempre ajuda…

segue um exemplo espero q te dê uma luz

Código da minha servlet, que já faz uma instância da classe dao e retorna uma lista de contatos:

public class ListaContatosDao extends Action{
    
    public ActionForward execute(ActionMapping map, ActionForm form, HttpServletRequest req, HttpServletResponse res) throws Exception{
        List<Contato> lista = new ContatoDAO().getLista();
        req.setAttribute("contatos", lista);
        return map.findForward("lista");
    }
}

linhas de configuração do struts-xml

<action path="/listacontatos" type="br.com.localhost.struts.ListaContatosDao">
            <forward name="lista" path="/lista.jsp"></forward>

Quando vc chamar pela url http://localhost:8080/sua-app/listacontatos.do
a servlet irá ser executada…

qq coisa posta ae…

[/]'s

JPinhead

ok… ok… até aí tudo bem…

mas… estou tentando chamar uma função do meu DAO de dentro de uma página JSP…

o que quero saber é se tenho q fazer uma ACTION para isso, e chamar no jsp assim :shock:

<c:import url="/listaInfoUsuario.do?usuCodigo=${usuarioLogado.usuCodigo}"></c:import>

ou se tem uma forma mais “Correta” de se fazer isso…
visto q assim tem q mapear a action e tudo mais…
acredito que exista uma forma mais “elegante” de se fazer isso usando struts…

valeu…

JPinhead

^up
ninguém pode ajudar :shock: :frowning: :?:

JPinhead

ninguém :shock: :shock: :shock: :shock:

ok… valeu pela ajuda pessoal! :frowning: :frowning: :frowning: :frowning:

herbertins

tem como fazer isso sim, mais se eu nao me engano a sua classe tem que ser um javabean. desculpe se falei merda mais eh que tbm sou inciante.

vou ve se acho um exemplo aqui para vc

herbertins

se liga nisso

<jsp:useBean id="contato" class="br.com.caelum.jdbc.modelo.Contato"/>

aqui vc chama a sua funçao, nao precisa usar o getNome por exemplo usa soh nome, o EL sabe que eh nescessario chamar um metodo do tipo getter.

${contato.nome}
Criado 5 de março de 2007
Ultima resposta 7 de mar. de 2007
Respostas 12
Participantes 5