Pessoal ,
Estou intrigado com um probleminha que estou tendo com Struts2 : A lógica é simples, dado uma tabela "contatos"
o struts2 deveria passar as informações para a jsp. O problema é que chamando pela url , a impressão dos contatos ,
só ocorre na segunda vez que a url é acessada.
o jsp de exibição está assim :
–> listaTarefas.jsp
Lista Tarefas
Id | Descrição | Finalizado | Data de Finalização |
---|
–> o que chama está assim (formularioTarefas.jsp)
Descrição:Testa:
-------- minha action
@ParentPackage(“tarefasCrud”)
public class TarefasCrudAction extends ActionSupport {
private static final Log LOG = LogFactory.getLog(TarefasCrudAction.class);
private static final long serialVersionUID = 1L;
private Tarefa tarefa;
private List<Tarefa> tarefas;
public String adiciona (){
LOG.info("adicionando tarefa: "+tarefa.getDescricao());
new TarefaDAO().adiciona(tarefa);
return SUCCESS;
}
public String lista (){
LOG.info("listando tarefas");
tarefas = new TarefaDAO().getLista();
// System.out.println(tarefas);
return SUCCESS;
}
/* GETTERS AND SETTERS */
public List<Tarefa> getTarefas() {
LOG.info("entrei getTarefas()");
System.out.println("passei no get list tarefas");
return tarefas;
}
public void setTarefas(List<Tarefa> tarefas) {
LOG.info("entrei setTarefas()");
System.out.println("passei no set list tarefas");
this.tarefas = tarefas;
}
public Tarefa getTarefa() {
LOG.info("entrei getTarefa()");
System.out.println("passei no get tarefa");
return tarefa;
}
public void setTarefa(Tarefa tarefa) {
LOG.info("entrei setTarefa");
System.out.println("passei no set tarefa");
this.tarefa = tarefa;
}
}
-------- e por fim o struts xml
<!-- setup the default-stack exception mapping interceptor so that any
exceptions not caught by this application will be logged and then handled
by the global exception mapping -->
<interceptors>
<interceptor-stack name="appDefault">
<interceptor-ref name="defaultStack">
<param name="exception.logEnabled">true</param>
<param name="exception.logLevel">ERROR</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="appDefault" />
<global-exception-mappings>
<exception-mapping result="runtime" exception="java.lang.Exception" />
</global-exception-mappings>
<action name="adiciona" method="adiciona"
class="br.com.cavazin.tarefas.action.TarefasCrudAction">
<result name="success">/jsp/tarefaAdicionada.jsp</result>
</action>
<action name="listaTarefa" method="lista"
class="br.com.cavazin.tarefas.action.TarefasCrudAction">
<result name="success">/jsp/listaTarefas.jsp</result>
</action>
</package>
não tem nenhum erro de digitação ou qualquer coisa, pelo que eu entedi ,
porque o problema não é que não funciona , quando eu acesso a url direto , funciona. (http://localhost:8080/listadetarefas/jsp/listaTarefa.action)
Mas quando eu clico no form ( listaTarefa.action ) ele não imprime , quando eu clico , voltar e no botão do form de novo ,
dai os detalhes aparecem … estou intrigado a um tempo e não achei o problema . Quem quiser ver o code
está em http://github.com/rafaelcavazin/listadetarefas ( é o exercício da apostila fj21 : 11.10 mas sem anotation e com maven jetty )
quem descobrir essa zica , ganha um tutu de java beans