URL Struts2

7 respostas
MeninodaVila

Galera,

Acredito que seja simples porem tentei procurar aqui e não encontrei.
Estou acessando um método e passando um parâmetro… vejam como estou fazendo.

<s:url id="list" action="doList" [b]method="post"[/b]>
	<s:param name="login" >
		<s:property value="loginUsuario" />
	</s:param>
</s:url>
<s:a href="%{list}" >Editar</s:a>

A URL fica visível o parâmetro, assim fica vulnerável o sistema.
Tentei usar method=“post” como no FORM porem não funcionou.
Quero saber como ocultar meu parâmetro na URL apos ser executado?!
Alguém sabe?!

7 Respostas

jyoshiriro

Olá.

Amigo, não entendi bem a questão. Você não quer que os parâmetros de requisição fiquem visíveis na URL, isso?

Se sim, basta usar um formulário com método “post” (a tag <s:form> do Struts2 usa “post” por padrão). Nesse caso, não deve usar a tag <s:url> e sim usar campo(s) “hidden” no formulário :wink:

Abraços.

MeninodaVila

Jyoshiriro… fiz conforme vc indicou, funcionou perfeitamente. :smiley:
Mas queria saber pq não é possivel usar method=“post” na tag s:url?!
Alguém sabe pq não funciona?! :?:

jyoshiriro

Olá.

Amigo, a tag <s:url> apenas cria uma String, uma URL mesmo. O atributo “method” dela indica o método da Action que você quer invocar e não o método HTTP.

Logo, se você fizer

O valor de “u1” será “…/salvar!talMetodo”. Essa URL, ao ser invocada, vai procurar por algum mapeamento chamado “salvar”. Se achar, na classe em questão vai executar o método “talMetodo()”, entendeu?

Abraços.

MeninodaVila

Obrigado novamente, ótima explicação não sabia dessa funcionalidade. :smiley:

Jyoshiriro… Aproveitando o topico, sabe me dizer posso criar um menu com s:form?!
Não encontrei aqui e nem na net um exemplo, ruim demais pra formatar…

O que vc indica pra resolver isso?! :frowning:

Abraço

jyoshiriro

Menu com <s:form>? Como assim, não entendi… que tipo de menu?

MeninodaVila

Jyoshiriro… então tinha feito um menu com link’s (s:url) utilizando ele tem problema de segurança, fiz conforme indicação estou usando o s:form porem é um botão do lado do outro como menu.
Ainda bem que a aplicação é pequena, melhorando a aparencia utilizei CSS no botão.

Sabe como posso melhorar o sistema nessa parte?!
Tô pensando em criar o sistema dentro de um poup (sem nenhuma barra) dessa forma podendo utilizar o s:url.

O que você indica?!

Abraço

jyoshiriro

Olá.

Bem, não entendi direito qual sua dúvida ^^’

Criado 6 de dezembro de 2011
Ultima resposta 20 de dez. de 2011
Respostas 7
Participantes 2