Duvida Tiles + Ação de Forward - Resolvido

4 respostas
D

Olá, amigos construi uma aplicação usando struts 2 + tiles, estou com alguns problemas preciso garantir que os forms só seja acessados por usuarios com login ativo.

<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<head>
<s:head/>
</head>
<!--Verifica se o login é valido -->
<s:if test="#session.usuarioLogado != 'logado'">
	<jsp:forward page="/jsp/welcome.jsp"></jsp:forward>
</s:if>
<s:else>
	<div class="titleDiv">
	<s:text name="Manutenção da Tabela de Abrangencias"/></div>
	<center><h1><s:text name="Adicionar Abrangencia"/></h1></center>
	<br/>
	<br/>
	<s:form action="abragencia" method="post" validate="true" >
		<s:hidden name="id_abragencia" />
		<s:hidden name="abragencia.abragencia_id" />
		<s:textfield name="abragencia.abragencia_descricao" label="Descrição da Abrangência" size="40" maxlength="40" />
		<s:submit name="action" label="Enviar Dados" key="Enviar Dados" cssClass="butStnd" method="gravarAbragencia" />
		<s:submit name="action" label="Cancelar" key="Cancelar" cssClass="butStnd" method="listarAbragencias" />
	</s:form>
</s:else>

No momento em que faço FORWARD tenho problemas, pois meu jsp acima foi mapeado em tiles, alguem tem alguma idéia de como pode ser resolvido isto?

4 Respostas

fbeli

a &lt;jsp:forward page="/jsp/welcome.jsp"&gt;&lt;/jsp:forward&gt; não tem nada a ver com tiles, é do struts mesmo.

Eu usei o tiles com a versão 1.2 do struts. Ele tem um arquivo tiles-config.xml (padrão é esse nome) de lá eu faço o mapeamento.

ve se vc acha esse arquivo e ques sabe te ajuda.

D

Pois eh eu configurei o arquivo de configuração do tiles, a propria jsp que eu passei esta mapeada no arquivo de configuração:

<!-- Abrangencia-->
	<definition name="abrangencia.form" extends="template.page">
		<!-- definindo um novo título para a página -->
		<put name="title" value="Abrangencia"/>
		<!-- alterando o corpo do layout -->
		<put name="body" value="/jsp/abrangencia/form.jsp"/>
	</definition>

Eu preciso que ele redirecione pra a welcome.page.

<definition name="welcome.page" extends="template.page"> <put name="body" value="/jsp/welcome.jsp"/> </definition>

Eu preciso de alguma ação do tiles tipo essa aqui <tiles:insertDefinition name=""></tiles:insertDefinition> que consiga redicionar para o welcome.page.

Obrigado

fbeli

1 - Ele não está mandando para fora do contexto?
use <%= request.getContextPath() %>

2 - se vc usa o Struts, não tem nenhuma welcome.do?

3 - esse jsp tem q estar fora do WEB-INF

D

Já consegui resolver o problema, alterei o template pra validar o login e extendi nos meus jsp´s.

Criado 17 de outubro de 2008
Ultima resposta 17 de out. de 2008
Respostas 4
Participantes 2