tiles-defs.xml
<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 1.3//EN" "http://struts.apache.org/dtds/tiles-config_1_3.dtd"> <tiles-definitions> <definition name="homepage" template="/jsp/layouts/layout.jsp"> <put name="title" value="Livraria Web" /> <put name="header" value="/jsp/layouts/banner.jsp" /> <put name="menu" value="/jsp/layouts/common_menu.jsp" /> <put name="body" value="/jsp/layouts/home_body.jsp" /> <put name="footer" value="/jsp/layouts/credits.jsp" /> </definition> <!-- Livros --> <definition name="listarLivros" extends="homepage"> <put name="body" value="/jsp/livro/listar.jsp" /> </definition> <definition name="formularioLivros" extends="homepage"> <put name="body" value="/jsp/livro/criar.jsp" /> </definition> <!-- Usuarios --> <definition name="listarUsuarios" extends="homepage"> <put name="body" value="/jsp/usuario/listar.jsp" /> </definition> <definition name="formularioUsuarios" extends="homepage"> <put name="body" value="/jsp/usuario/formulario.jsp" /> </definition> <!-- Login --> <definition name="loginUsuario" extends="homepage"> <put name="body" value="/jsp/login/login.jsp" /> </definition> </tiles-definitions>/jsp/layouts/layout.jsp
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> <title><tiles:getAsString name="title" /></title> <link rel="stylesheet" type="text/css" href="<%=request.getContextPath() %>/stylesheets/scaffold.css"/> </head> <body> <div id="page"> <div id="header"> <tiles:insert name="header" /> </div> <hr class="hidden" /> <div id="main"> <div id="content-wrapper"> <div id="content"> <tiles:insert name="body" /> </div> </div> <div id="sidebar-wrapper"> <tiles:insert name="menu" /> </div> </div> <hr class="hidden" /> <div id="footer"> <tiles:insert name="footer" /> </div> </div> </body> </html>struts-config.xml
<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd"> <struts-config> <!-- Definicao dos Formulario de Beans --> <form-beans> <form-bean name="livroForm" type="br.com.livrariaweb.controle.LivroForm" /> <form-bean name="usuarioForm" type="br.com.livrariaweb.controle.UsuarioForm" /> </form-beans> <!-- Definicao de Excecoes Globais --> <global-exceptions></global-exceptions> <!-- Definicao de Redirecionamento Global --> <global-forwards> <forward name="homepage" path="/homepage.do" /> </global-forwards> <!-- Mapeamento de Acoes --> <action-mappings> <action path="/homepage" type="br.com.livrariaweb.controle.HomeAction"> <forward name="homepage" path="homepage" /> </action> <!-- Cadastro de Livros --> <action path="/formularioLivros" forward="formularioLivros" /> <action path="/salvarLivro" type="br.com.livrariaweb.controle.LivroSalvarAction" name="livroForm" scope="request" input="formularioLivros"> <forward name="listar" path="/listarLivros.do" redirect="true" /> </action> <action path="/listarLivros" type="br.com.livrariaweb.controle.LivroAction"> <forward name="listar" path="listarLivros" /> </action> <!-- Cadastro de Usuários --> <action path="/formularioUsuarios" forward="formularioUsuarios" /> <action path="/listarUsuarios" type="br.com.livrariaweb.controle.UsuarioAction" name="usuarioForm" scope="request" input="formularioUsuarios" parameter="metodo" validate="true"> <forward name="listar" path="listarUsuarios" /> <forward name="formulario" path="formularioUsuarios" /> </action> <!-- Login e Logout --> <action path="/login" forward="loginUsuario" /> <action path="/autenticar" type="br.com.livrariaweb.controle.LoginAction" name="usuarioForm" scope="request" input="loginUsuario" validate="true"> <forward name="homepage" path="/homepage.do" /> </action> <action path="/sair" type="br.com.livrariaweb.controle.LogoutAction" scope="request"> <forward name="homepage" path="homepage" /> </action> <!-- Comprar --> <action path="/comprar" type="br.com.livrariaweb.controle.ComprarAction"> <forward name="homepage" path="homepage" /> </action> </action-mappings> <!-- Arquivo de Definicao de Mensagens --> <message-resources parameter="mensagem" /> <plug-in className="org.apache.struts.tiles.TilesPlugin"> <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" /> </plug-in> </struts-config>
13 comentários:
Tiago,
Andei pesquisando na internet mas nao achei...
Eu queria fazer aparecer um link quando o usuario fizesse o login e que esse ele tivesse permissao.
Aí eu criei na entidade usuario o atributo permissao como Integer.
Exemplo: 1 para admin
2 para usuario
aí com a tag logic:present verifiquei se o usuario estava no scope=session agora é que é a minha dúvida... o que eu irei usar agora para saber se é admin ou usuário?
estou tentando usar o role da taglib logic... mas sem sucesso
Você pode tentar utilizar a taglib "logic:equal" e verificar se a propriedade é 1 ou 2. Lembre-se que com login vc tem somente autenticacao. Vc n tem controle de permissao de acesso. Mesmo que o link apareca somente para o admin, isso n impede que o usuario tbm acesse, e até mesmo que alguem q n esteja logado acesse a página referenciada.
Ok... funcionou... Obrigado!
Agora estou tentando colocar para funcionar o relacionamento entre a tabela usuario e a de pedidos... fiz os mapeamentos entre as entidades, mas deu erro na hora de rodar...
Acredito eu que possa ser pq tenho que mudar a classe de serviço... Será que teria como postar essa parte também?
renans_alves@yahoo.com.br
Hehehe... eu não fiz essa parte. Mas coloca o seu erro ai que dou uma olhada...
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Servlet execution threw an exception
root cause
java.lang.ExceptionInInitializerError
br.com.pgr.util.HibernateUtil.clinit(HibernateUtil.java:16)
br.com.pgr.servico.UgServico.lista(UgServico.java:26)
br.com.pgr.controle.HomeAction.execute(HomeAction.java:24)
...
Nesse caso o relacionamento é o seguinte...
Tenho as entidades:
Usuario e Ug(Unidade Gestora).
Um usuario tem uma ug.
Uma ug tem muitos usuarios.
O mapeamento usando as anotações está tranquilo... o problema é a classe de servico... nao estou conseguindo implementar...
Obs.: A entidade(tabela) UG é somente para carregar um html:select. para eu saber qual a unidade gestora que o usuario esta cadastrado.
Como eu faria nesse caso?
Não sei se você lembra mas nas aulas de hibernate, colocaríamos o novo usuário dentro da coleção de usuários da Unidade Gestora, e a unidade gestora dentro do usuário.
Não sei como você está fazendo isso, mas caso vc esteja tentando associar o usuário a uma unidade gestora que está numa combo, na sua action ou na classe de servico você precisa carregar novamente essa entidade para depois fazer os sets que falei agora a pouco.
Como eu faço para ter controle de permissao de acesso...
fiz aquele esquema com o equals para verificar a propriedade para saber se é 1 ou 2.
Mas realmente so oculta os links...
Como eu faria para ter segurança no sistema... com relação a mostrar os links somente para usuarios autorizados e segurança pela url?
Renan, para trabalhar com autenticação e autorização você pode dar uma olhada nos recursos do JAAS (Java Authentication and Authorization Service).
http://www.guj.com.br/java.tutorial.artigo.184.1.guj
Valeu...
vou dar uma olhada...
Tiago o que vc acha de implementar Tiles com JSF?
To iniciando os meus estudos agora com o JSF...
Renan, existe algo específico para o trabalhar com templates em jsf. Chama-se "facelets".
Postar um comentário