Galera estou precisando criar uma actionPrincipal no meu sistema que ela extenda a action do struts e as demais action extendem a actionPrincipal.
Bom eu vou postar como estou fazendo
minha actionPrincipal
public abstract class ActionPrincipal extends Action {
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception{
ManterSituacaoImovelAction manterSituacaoImovelAction = new ManterSituacaoImovelAction();
manterSituacaoImovelAction.execute(mapping, form, request, response);
return mapping.findForward("SUCCESS");
}
}
Minha actionFilha
public class ManterSituacaoImovelAction extends ActionPrincipal {
private final static String SUCCESS = "success";
private final static String FAIL = "fail";
private final static String ERROR = "error";
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)throws Exception{
OracleConnect oraConnect = new OracleConnect();
oraConnect.createConnection();
SituacaoImovel situacaoImovelVO = new SituacaoImovel();
SituacaoImovelService situacaoImovelService = new SituacaoImovelService();
ManterSituacaoImovelForm manterSituacaoImovelForm = (ManterSituacaoImovelForm) form;
BeanUtils.copyProperties(situacaoImovelVO, manterSituacaoImovelForm);
SituacaoImovel situacaoImovel = situacaoImovelService.insertSituacaoImovel(situacaoImovelVO);
manterSituacaoImovelForm.setCdSituacao(situacaoImovel.getCdSituacao());
oraConnect.Commit();
oraConnect.closeConnection();
if (situacaoImovel.getPRetCodigo() >= 0) {
manterSituacaoImovelForm.setMensagem(situacaoImovel.getPRetMensagem());
return mapping.findForward(SUCCESS);
} else {
manterSituacaoImovelForm.setMensagem(situacaoImovel.getPRetMensagem());
return mapping.findForward(FAIL);
}
}
}
Bom vamos lá.
1 - Minha dúvida é como vou fazer para que a actionPrincipal chame a actionFilha?
2- Tenho que mapear a actionPrincipal no struts-config? se sim, tenho que chamar um jsp, um form?
3- Tem algum material na net que fale sobre este assunto?
4- a ideia é que tudo que for feito no projeto passe pela actionPrincipal sendo que se o usuario nao estiver logado a actionPrincipal não chame as outras, mesmo digitando diretamente o endereco na url nao funcione
Peço a ajuda de vcs estou quebrando a cabeça com isso, valeu galera