I have a menu that when I click in there he redirects me to the page but, I need record the menu clicked to mount an historic.
So I had an idea that create a session with the code of menu, because it comes from a database and, through algorithms I'll catch the others menus
But, how I'll catch the menu's code and redirect in the same link?
see the code
cabecalho.xhtml
Code: Select all
<ui:repeat value="#{menusMB.modulos}" var="menu">
<td>
<a href="../#{menu.link}">
<img src="../../images/icones/#{menu.imagem}" />
</a>
</td>
</ui:repeat>
Code: Select all
public class MenusMB implements Serializable{
private List<Modulo> modulos = new ArrayList<Modulo>();
private final HttpSession session;
private int menulevel = 0;
private Modulo ativo;
public Modulo getAtivo() {
return ativo;
}
public void setAtivo(Modulo ativo) {
this.ativo = ativo;
}
public List<Modulo> getModulos() {
return modulos;
}
public void setModulos(List<Modulo> modulos) {
this.modulos = modulos;
}
public int getMenulevel() {
return menulevel;
}
public void setMenulevel(int menulevel) {
this.menulevel = menulevel;
}
public void escreve(ActionEvent actionEvent){
System.out.println("entrei aqui");
//System.out.println(ativo.getLink());
}
public MenusMB() throws IOException {
//aqui no construtor carregamos todos os menus que o usuario logado pode acessar
//para isso primeiro criamos o objeto logado onde pegará os dados do usuario logado
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
session = request.getSession();
System.out.println(session.getAttribute("usuario_logado"));
//VERIFICA SE A PESSOA TEM ACESSO AO SISTEMA
//para isso verifica se a session usuario_logado for igual a null significa que a session nao foi criada e portanto não passou pela tela de login
if(session.getAttribute("usuario_logado") == null){
//redirecionando
HttpServletResponse response = (HttpServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse();
response.sendRedirect("../../index.xhtml");
}
Login l = (Login) session.getAttribute("usuario_logado");
ModuloLoginJpaController jpa = new ModuloLoginJpaController();
List <ModuloLogin> listaModLogin = new ArrayList<ModuloLogin>();
listaModLogin = jpa.findModulosByLogin(l);
for (int i = 0; i < listaModLogin.size(); i++) {
modulos.add(listaModLogin.get(i).getModulo());
}
}
}
[]'s