[RESOLVIDO] Expression Language com Facelets?

5 respostas
Kleber-rr

Olá pessoal, estou com um probleminha simples pra maioria dos colegas do GUJ.

Tenho uma aplicação WEB usando JSF, bean, facelets, etc... e estou usando template nas páginas xhtml. Dentro do template, tenho um div que carrega uma barra de menu, como no código abaixo:
<div id="toolbar">

		<ui:include src="adminbar.xhtml"/>

	</div>

O que eu quero é criar uma expression language dentro dessa div, que verificasse o nível de acesso do usuário para me carregar a barra apropriada, ou seja: se o usuario for do tipo administrador, carrega a "adminbar.xhtml, caso seja do tipo gestor, carrega a gestorbar.xhtml, e por ae vai...

Só que pelo que eu li e tentei fazer, as paginas em xhtml não suportam a utilização da tag "<%" para que se utilize a el como nas paginas jsp.

o início das paginas xhtml estao assim:
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:a4j="http://richfaces.org/a4j"
	xmlns:stella="http://stella.caelum.com.br/faces"
	xmlns:rich="http://richfaces.org/rich"&gt;

&lt;head&gt;
	&lt;link rel="StyleSheet" type="text/css" href="/style/style.css" media="screen" /&gt;

Se alguem tiver alguma sugestão, agradeço. Ainda estou engatinhando em java e qualquer ajuda é de bom grado.

Valeu.

5 Respostas

balrog

algo do tipo

&lt;c:set var="src" value="#{backingBean.isAdmin('userID') ? 'admin.xhtml' : 'user.xhtml'}" /&gt;
					&lt;ui:include src="#{src}"&gt;&lt;/ui:include&gt;

deveria resolver.

Kleber-rr

balrog:
algo do tipo

&lt;c:set var="src" value="#{backingBean.isAdmin('userID') ? 'admin.xhtml' : 'user.xhtml'}" /&gt;
					&lt;ui:include src="#{src}"&gt;&lt;/ui:include&gt;

deveria resolver.

Só conheço a el da utilização dos #{xxxx} heheheeh, mas me perdoe minha santa ignorância… onde está a condição ae??

valeu.

balrog

pesquise sobre ‘conditional operators’

Kleber-rr

Ok. vou procurar.
Vlw

Kleber-rr

Resolvido.

dentro do xhtml, usa-se o “<c:” do http://java.sun.com/jstl/core.

Flws.>

Criado 17 de junho de 2010
Ultima resposta 23 de jun. de 2010
Respostas 5
Participantes 2