VRaptor + Janela Modal [RESOLVIDO]

6 respostas
atilaraphael

Boa tarde pessoal,

Tenho uma lista de clientes, e quando cliqu no nome de algum deles quero que abra uma “janela modal” com alguns dados.

Já consegui fazer isso com o jqModal.js no struts, mas no Vraptor não estou conseguindo.

Se eu coloco:

@Path("/cliente/visualizarDados/{codigo}")
	public void visualizarDados(Long codigo) throws Exception {
		Cliente cliente = clienteDao.getCliente(new Cliente(codigo));
		result.use(Results.http()).setStatusCode(200);
		result.include("cliente", cliente);
	}

Ele não abre a pagina modal.

Se eu tiro essa linha:

@Path("/cliente/visualizarDados/{codigo}")
	public void visualizarDados(Long codigo) throws Exception {
		Cliente cliente = clienteDao.getCliente(new Cliente(codigo));
		result.include("cliente", cliente);
	}

Ele abre a janela modal mas aparece o cabeçalho e o rodapé do meu sistema dentro da janela modal.

Alguém já passou por isso, tem alguma solução?

6 Respostas

Lucas_Cavalcanti

vc precisa excluir essa página/logica/url do cara que está colocando os templates do cabeçalho e rodapé?

o que vc tá usando pra templates?

atilaraphael

Estou utilizando o próprio web.xml como mostra a apostila da Caelum

<jsp-config>
		<jsp-property-group>
			<description>almoxarifado</description>
			<display-name>Almoxarifado</display-name>
			<url-pattern>*.jsp</url-pattern>
			<include-prelude>/header.jsp</include-prelude>
			<include-coda>/footer.jsp</include-coda>
		</jsp-property-group>
	</jsp-config>
Lucas_Cavalcanti

hum…

o problema é que ele vai decorar todas as jsps. Vc pode fazer duas coisaa:

  • usar um cara mais legal pra fazer templates, como o sitemesh ou apache tiles e excluir dos decorators as lógicas que vão pro modal - ou
  • envolver o código do header e footer.jsp com um <c:if testando se a requisição é ajax
atilaraphael

Pela sua experiência, qual das três opções você acha mais apropriado?

Lucas_Cavalcanti

depende do seu caso :wink:

o mais simples é o <c:if>, e o mais flexível seria usar sitemesh ou tiles…

pra saber se a request é ajax, é só ver se request.getHeader(“X-Requested-With”) tem alguma coisa.

atilaraphael

Oi Lucas, muito obrigado pela ajuda, estou utilizando o tiles como você sugeriu, e ficou muito bom.

Criado 18 de julho de 2011
Ultima resposta 20 de jul. de 2011
Respostas 6
Participantes 2