JSP recuperar valores sem submit do form?

Opa gente, estou iniciando agora em java,jsp+servlets, estou com uma duvida.

Como faço para recupera o value de um campo sem dar submit no form?
Tenho um JSP que Lista alguuns Itens

//Jsp da Consulta
<html>
<head></head>
<body>
<form>


<input type='hidden' name = 'idVaga' value='<%out.print(vaga.getId()); %>'/>




//Aqui estou passando para  proxima pagina o id de um Usuario  - Aqui tudo ok Recebo isso como um objeto na outra pagina
<a href = 'Controller?do=detalhesCurriculoForm&id=<%out.print(listaUsuarios.get(cont).getId()); %>'>Requisitar</img></a>



//Aqui o problema preciso recuperar esse outro valor porém não dei um submit no form. Existe como?
<input type='hidden' name = 'idUsuario' value='<%out.print(usuario.getId()); %>'/>

</form>
<body>
<html>

//Jsp da Resposta
<html>
<head></head>
<body>
<form>

//Nesse jsp necessito recuperar ambos valores, no entando o acesse a esse jsp não foi atraves do submit do form....
//Tem como recuperar os valores ???

</form>
<body>
<html>

Ou você faz via get, passando pela URL algum valor, ou usa Ajax.

Cara vc tem q observar alguns pontos.

  1. É melhor utilizar EL / JSTL à Scriptlets. Por exemplo:
<jsp:useBean id="pessoa" scope="request" class="jbr.com.exemplo.Pessoa"/>

<input type="hidden" name="nome" value=${pessoa.nome}/>

<a href="/ServletPessoa?do=cadastrar&nome=${pessoa.nome}"> Cadastrar </a>
  1. O melhor a ser feito é que o destino da requisição seja uma Servlet e não um JSP, pois senão vc estará “quebrando” o modelo MVC.

  2. O destino sendo uma servlet ou um JSP, você poderá fazer o seguinte:

String nome = request.getParameter("nome"); // Onde nome é o nome da propriedade que vc deseja recuperar.
  1. E para vc direcionar o valor da Servlet para outro JSP vc pode utilizar javax.servlet.RequestDispatcher.
String nome = request.getParameter("nome");

Pessoa pessoa = new Pessoa( nome );

RequestDispatcher rd = getServletContext().getRequestDispatcher("/destino.jsp");
   request.setAttribute( "pessoa",    pessoa );
rd.forward(request,response);

Espero ter ajudado.

Abs.

Entendi cara, ajudou bastante…
Obrigado…