Passar informação do componente para a classe controlle

Como obter a informação digitada no jsp para o controlle do spring ?

1 curtida

Assim:

Formulario:

<form action="adicionaX" method="post">
     
     Valor 1: <input name="valor1" type="text">
     Valor 2: <input name="valor2" type="text">

     <input type="submit" value="Adicionar" >
		
</form>

Controller:

@Controller
public class XController {

	@RequestMapping("/adicionaX")
	public String adiciona(X x) {
		
                // X disponivel

		return "pagina-x";
	}

}

Atributos Classe X

private String valor1;
private String valor2;

//Getters e Setters

Espero que te ajude.

1 curtida

Desculpe, esqueci de informar.

Não deveria ser via post.

Acho que por ajax seria melhor.

Via post, até então está tranquilo.

Boa noite guilherme,

Acho que isso seria já um início pra você entender como funciona:

Controller:

@RequestMapping("/enviarViaAjax")
public void superAjax(Long id, HttpServletResponse response) {
     // id da JSP
     response.setStatus(200);
}

JSP/JS:

(Aqui esta utilizando JQuery)

function chamarViaAjax(id) {

     $.post("enviarViaAjax?id=" + id, function(dadosRetorno) {
          alert('super teste')
     }

}

//Chamada da função javascript

<a href="#" onclick="chamarViaAjax(${x.id})">Teste</a>

1 curtida

O que é este response.setStatus(200); ?

1 curtida

@Weverton_Reis,

Coloquei assim

<script>
      	jQuery(function($) {
    		function editarPais(id) {
    			alert('super teste');
     		     $.post("editarPais?id=" + id, function(dadosRetorno) {
     		          alert('super teste');
     		     }
    		}
      	});
    </script>

Assim:

<script type="text/javascript">
 	jQuery(function($) {
		function editarPais(id) {
			alert('super teste');
		     $.post("editarPais?id=" + id, function(dadosRetorno) {
		          alert('super teste');
		     }

		}
 	});

e assim:

<script type="text/javascript">
		function editarPais(id) {
			alert('super teste');
		     $.post("editarPais?id=" + id, function(dadosRetorno) {
		          alert('super teste');
		     }
		}
</script>

No jsp que chama alterei para:

Na classe controle não mudei, pois ele dá este erro no navegador,

ReferenceError: editarPais is not defined[Learn More] pais:1:1
onclick http://localhost:9001/desif/pais/:1:1

O que pode estar de errado ?

Significa que sua requisição foi um sucesso.

https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

Não entendi.

Fala que não foi definida…

e não aparece o alert(‘super teste’);