Sou iniciante em Struts, e pelo que eu vi, a comunicação entre uma Action e um JSP é feita através de VO e usando Session, assim é o certo ou existe algum jeito mais simples?
por exemplo, na minha action eu jogo pra sessão o valor de um atributo qualquer, exemplo:
no JSP eu recupero esse valor e mostro na tela, por exemplo
String nome = (String) session.getAttribute("nome");
<b><%=nome%></b>
esse é o melhor jeito (talves o único) de fazer essa comunicação, ou existe um jeito mais fácil? (como o webwork que você apenas cria atributos, métodos get e set e no JSP usa <ww:property…).
Você até pode fazer isso, mas o mais comum é fazer a comunicação usando ActionForm.
Você define seu form no struts-config e na definição da action você diz qual form utilizar.
Por exemplo:
Isso é para pegar os valores da jsp na Action, mas você pode fazer o caminho inverso tb. Na sua Action vc popula ser form e redireciona para a jsp, o struts vai popular os campos da jsp com os dados do form.
certo Code, valeu pela dica, mas essa parte de Form eu já tinha estudado e estou utilizando com sucesso.
O que eu quero mesmo, é fazer a comunicação entre a minha Action e o JSP, mas não através de dados populados no meu Form e sim outros objetos, como por exemplo um objeto String ou um ArrayList. Como eu disse, no WW é só criar o atributo na Action, fazer o get e o set e dentro do JSP eu uso <ww:property, quero saber se no Struts existe algo do tipo, ou a unica maneira é jogar esse objeto pra HttpSession e depois no JSP eu recupero essa Session
Não sei se entendi direito, mas você pode, na sua action, inserir um bean na sessão e na sua jsp você pode utilizar a tag bean:write para mostrar o valor do bean passando scope=session. Para manipular Collections tem a tag <logic:iterate>.