Pessoal,
o que eu to querendo fazer é um pouco complicado de explicar, pois nao sei o nome correto das coisas, mas vou tentar explicar aki o que é.
estou usando facelets + icefaces
login.jspx faz um submit pelo metodo
public class BackBean{
public String submit(){
return "main"
}
}
esta funcionando direitinho, esta redirecionando para miha pagina main. ate aqui beleza.
como estou usando templates, tenho um menu, que deve ter opções de acordo com a pagina atual e algumas regras,sendo que cada menu esta linkado com uma opção em um back bean AcoesBean.
ex:
public class AcoesBean {
private boolean visibleNovo;
private boolean visibleEditar;
private boolean visibleExcluir;
private boolean visibleSalvar;
private boolean visibleCancelar;
//estou omitindo geters e seters
public AcoesBean(){
LoginBean loginBean = (LoginBean) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("loginBean");
if(loginBean.getUsuario().equals("Administrador")){
visibleNovo = true;
visibleEditar= true;
visibleExcluir= true;
visibleSalvar= true;
visibleCancelar= true;
}
}
}
no meu construtor quero mudar esta regra simples que esta ali por uma que leve em consideração a pagina solicitada.
para habilitar ou nao uma determinada ação do menu.
estava tentando buscar no contrutor da classe AcoesBean uma forma de obter ou o “outcome” ou a pagina solicitada,
cheguei a achar debugando a propriedade
FacesContext.getCurrentInstance().getExternalContext()
as regras de navegação definidas no faces-config, mas nao consegui encontrar qual a regra que foi utilizada.
nao estou querendo setar manualmente nos botoes alguma propriedade na session com o nome da pagina destino, pois queria que esta parte ficasse “automatica”, sem ter que ser manuseada pelo programador que estiver fazendo a tela que herda a estrutura, para evitar dificuldades e problemas.
acho que consegui explicar o que eu quero, mas qualquer duvida eu tento explicar de novo
abraços