Utilizando El-JSF, como faço para pegar o nome do arquivo xhtml?
Ex.:
cadastrarProduto.jsf = cadastrarProduto.xhtml
Utilizando El-JSF, como faço para pegar o nome do arquivo xhtml?
Ex.:
cadastrarProduto.jsf = cadastrarProduto.xhtml
Bom dia,
Poderia explicar melhor a sua duvida.
vlw
Desculpe a pergunta, mas para que você quer isso? O.o
Por exemplo, na minha url tenho o seguinte endereço:
http://localhost:8080/app/cadastroProduto.jsf
Gostaria de pegar essa página: “cadastroProduto.jsf”
Minha página é xhtml…
Tem como eu pegar essa url utilizando EL-JSF ou vou ter q criar um metodo em uma classe que retorne essa pagina e recupero ela na pagina xhtml?
para que vc quer recuperar essa página .jsf em uma outra .xhtml
Voce quer chama essa página em um template ?
É ISSO?
É o seguinte, esse menu faz parte de todas as páginas:
menu.xhtml
<style>
.menu {
background-color: #FFFFFF;
background-image: url(imagens/fundo.gif);
background-repeat: repeat-x;
font-family: Arial;
font-size: 11px;
font-weight: bold;
color: #00194b;
width: 100%;
min-width: 800px;
height: 70px;
_height: 80px;
line-height: 70px;
_line-height: 40px;
vertical-align: bottom;
float: left;
border-bottom: 1px solid #DDD;
}
.aba {
background: url(imagens/aba.gif) repeat-x;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
font-weight: normal;
text-align: center;
color: #000000;
width: 155px;
height: 30px;
line-height: 30px;
vertical-align: bottom;
float: left;
margin-left: 4px;
margin-right: 3px;
margin-top: 4px;
margin-bottom: 0px;
border: 1px solid #DDD;
_border-bottom: 1px solid #F0F0F0;
cursor: pointer;
}
.abaSelecionada {
font-weight: bold;
font-size: 12px;
}
</style>
<div class="menu">
<div style="width: 100%; min-width: 800px; height: 30px"> </div>
<p:commandLink style="text-decoration: none;" styleClass="aba"
value="Produto" action="#{bean.iniciarProduto}" />
<p:commandLink style="text-decoration: none;" styleClass="aba"
value="Cliente" action="#{bean.iniciarCliente}" />
</div>
Como podem ver, quando o usuário ir para a página de cliente, entao eu quero que a aba tenha o estilo “abaSelecionada”.
Entao para isso, eu queria fazer algo assim:
<div class="menu">
<div style="width: 100%; min-width: 800px; height: 30px"> </div>
<p:commandLink style="text-decoration: none;" styleClass="aba #{bean.recuperarPagina}"
value="Produto" action="#{bean.iniciarProduto}" />
<p:commandLink style="text-decoration: none;" styleClass="aba #{bean.recuperarPagina}"
value="Cliente" action="#{bean.iniciarCliente}" />
</div>
Bean.java
public String recuperarPagina(){
if(pagina == "cliente.jsf"){
return "abaSelecionada"
} else if(pagina == "produto.jsf"){
return "abaSelecionada"
} else {
return "";
}
}
Com isso, a página que o usuário estiver, o menu correspondente ficará com o estilo “abaSelecionada” e ficará com um negrito na aba
Consegui resolver da seguinte maneira:
<c:if test="#{facesContext.viewRoot.viewId == '/pages/produto.xhtml'}">
<c:set var="abaProduto" value="abaSelecionada" />
</c:if>
<c:otherwise>
<c:if test="#{facesContext.viewRoot.viewId == '/pages/cliente.xhtml'}">
<c:set var="abaCliente" value="abaSelecionada" />
</c:if>
</c:otherwise>
<div class="menu">
<div style="width: 100%; min-width: 800px; height: 30px"> </div>
<p:commandLink style="text-decoration: none;" styleClass="aba #{abaProduto}"
value="Produto" action="#{bean.iniciarProduto}" />
<p:commandLink style="text-decoration: none;" styleClass="aba #{abaCliente}"
value="Cliente" action="#{bean.iniciarCliente}" />
</div>