Obragado Lucas e Lavieri!
Fiz como está na apostila, era aquilo que eu tava precisando mesmo, anotar os métodos que são restritos para usuário logado, e o que não estiver anotado qualquer usuário poderá usar, porém a lista não está sendo mostrada na página venda.jsp.
Em Imovelcontroller fiz o result.include() para a página Venda.jsp:
@Path("/venda")
public void venda() {
result.include("imovel", imovelDao.lista());
}
E no LoginFuncionarioInterceptor está assim:
public boolean accepts(ResourceMethod method) {
ResourceClass resource = method.getResource();
return
!funcionarioLogado.isLogged() && method.containsAnnotation(Restrito.class)
&& !LoginController.class.isAssignableFrom(resource.getType())
&& !IndexController.class.isAssignableFrom(resource.getType());
}
Minha tabela para mostrar a lista:
<display:table name="${imovelList}" pagesize="5" id="imovel" requestURI="/Imobiliaria/imovel/lista">
<display:column>${imovel_rowNum}</display:column>
<display:column title="Imagem"><img src="<c:url value="/imovel/${imovel.idImovel}/imagem"/>" width="100" height="100"/></display:column>
<display:column property="codImovel" title="Codigo" />
<display:column property="titulo" title="Titulo" />
<display:column property="bairro" title="Bairro" />
<display:column property="valor" title="Valor" />
<display:column property="area" title="Área" />
</display:table>
Apenas copiei essa tabela da página lista.jsp e colei na página venda.jsp, sem os links para alterar e excluir.
A saida é esta:
21:37:28,481 DEBUG [VRaptor ] VRaptor received a new request
21:37:28,592 DEBUG [DefaultRequestExecution] executing stack DefaultRequestExecution
21:37:28,749 DEBUG [ToInstantiateInterceptorHandler] Invoking interceptor ResourceLookupInterceptor
21:37:28,751 DEBUG [DefaultResourceTranslator] trying to access /venda
21:37:28,787 DEBUG [DefaultResourceTranslator] found resource [DefaultResourceMethod: ImovelController.vendaImovelController.venda()]
21:37:28,821 DEBUG [ToInstantiateInterceptorHandler] Invoking interceptor FlashInterceptor
21:37:28,832 DEBUG [ToInstantiateInterceptorHandler] Invoking interceptor InterceptorListPriorToExecutionExtractor
21:37:28,851 DEBUG [InstantiatedInterceptorHandler] Invoking interceptor InstantiateInterceptor
21:37:30,565 DEBUG [ToInstantiateInterceptorHandler] Invoking interceptor ParametersInstantiatorInterceptor
21:37:30,570 DEBUG [AsmBasedTypeCreator ] Trying to make class for ImovelController$venda$1387602019$1
21:37:30,594 DEBUG [ParanamerNameProvider] Found parameter names with paranamer for ImovelController.venda() as []
21:37:30,594 DEBUG [AsmBasedTypeCreator ] Parameter names found for creating type are: []
21:37:30,595 DEBUG [AsmBasedTypeCreator ] Methods: []
21:37:30,595 DEBUG [AsmBasedTypeCreator ] Fields: []
21:37:30,595 DEBUG [CacheBasedTypeCreator] cached generic type for method [DefaultResourceMethod: ImovelController.vendaImovelController.venda()]
21:37:30,607 DEBUG [ParanamerNameProvider] Found parameter names with paranamer for ImovelController.venda() as []
21:37:30,608 DEBUG [ParametersInstantiatorInterceptor] Parameter values for [DefaultResourceMethod: ImovelController.vendaImovelController.venda()] are []
21:37:30,655 DEBUG [ToInstantiateInterceptorHandler] Invoking interceptor ExecuteMethodInterceptor
21:37:30,656 DEBUG [ExecuteMethodInterceptor] Invoking ImovelController.venda()
Hibernate:
select
this_.id_imovel as id1_0_0_,
this_.area as area0_0_,
this_.bairro as bairro0_0_,
this_.cep as cep0_0_,
this_.cidade as cidade0_0_,
this_.cod_imovel as cod6_0_0_,
this_.descricao as descricao0_0_,
this_.dt_inclusao as dt8_0_0_,
this_.endereco as endereco0_0_,
this_.estado as estado0_0_,
this_.medida as medida0_0_,
this_.pais as pais0_0_,
this_.status as status0_0_,
this_.titulo as titulo0_0_,
this_.valor as valor0_0_
from
Imovel this_
21:37:30,736 DEBUG [ToInstantiateInterceptorHandler] Invoking interceptor OutjectResult
21:37:30,750 DEBUG [ToInstantiateInterceptorHandler] Invoking interceptor ForwardToDefaultViewInterceptor
21:37:30,751 DEBUG [ForwardToDefaultViewInterceptor] forwarding to the dafault page for this logic
21:37:30,778 DEBUG [DefaultPageResult ] forwarding to /WEB-INF/jsp/imovel/venda.jsp
21:37:30,796 DEBUG [DefaultStaticContentHandler] Deferring request to container: /Imobiliaria/WEB-INF/jsp/imovel/venda.jsp
21:37:32,869 DEBUG [VRaptor ] VRaptor ended the request
Anotei os métodos que queria como restritos e deixei apenas o método de listar sem anotação.
Deveria ter mostrado não os dados não?
Abraço!