Programar dentro da própria página para exibir conteudo personalizado - JSF XHTML

6 respostas
mateusviccari

Bom dia, estou iniciando em Java Web, ja estudei Servlets, JSP e agora estou entrando em Server Faces…
Gostaria de saber se tem como, no JSF usando sintaxe xhtml, fazer uma programação diretamente na pagina, como se faz com JSP, por ex, pra renderizar um componente ou outro de acordo com uma variavel na sessão, algo como isso aqui:

<% if(session.getAttribute("usuarioLogado").toString().equals("true")) { %>
                <h1><h:outputText value="Bem-vindo Usuário!"/></h1>
            <% }else{ %>
                <h1><h:outputText value="Bem-vindo Visitante!"/></h1>
            <% } %>

Tem como fazer isso usando a sintaxe xhtml? Visto que nao da pra usar os <% %> pra iserir codigo java diretamente na pagina.
Se não, pra fazer isso creio que tenha que usar os managedBeans, mas como fazer isso com os managedBeans?

6 Respostas

C

estes scriplets não são muito recomendados nem no JSP mesmo, no jsf existe o atributo rendered que pode receber uma expressão de EL de valor booleando que define se o componente vai ou não aparecer

Hebert_Coelho

cleciusjm:
estes scriplets não são muito recomendados nem no JSP mesmo, no jsf existe o atributo rendered que pode receber uma expressão de EL de valor booleando que define se o componente vai ou não aparecer
+1

Pq você ñ faz essa lógica dentro do próprio servlet e ñ envia para a tela?

E uma você que você está utilizando JSF pq ñ faz essa lógica no ManagedBean e a envia para a tela? Ou então utiliza como o cleciusjm disse.

darklordkamui

JSF não se usa scriptlets…

vc encapsula isso na Bean ou no Serviço… dependendo da sua arquitetura…

recomendo ler um dos milhares de tutoriais que existem na internet

mateusviccari

hmm, certo… mas e nao tem um jeito mais facil pra fazer um conteudo dinamico, entenda facil como se faz la no php e usando os scriptlets do jsp? ja conheço esse atributo rendered mas e em casos diferentes, por exemplo, se eu quiser fazer um laço pra exibir um mesmo componente varias vezes? como se faz isso no jsf?

lele_vader

Você pode usar jstl. Lá tem um componente de loop.
Daí em cada passo do loop você pode criar o seu componente

C

recomendo estudar os componentes básicos do JSF.

Criado 6 de julho de 2012
Ultima resposta 6 de jul. de 2012
Respostas 6
Participantes 5