Pergunta

Como faço para passar um parâmetro a partir de uma página useBean em JSP para um servlet em Java? Eu tenho alguns dados em um formulário que é passado nenhum problema com um botão de envio, mas não há maneira de enviar qualquer outra coisa. Por favor ajude? Aqui está o meu código:

<input name = "deleteGameButton" type = "submit" value = "Delete"
 onclick = "submitToServlet('DeleteGameServlet');">

Aqui está o javascript correspondente:

 function submitToServlet(newAction)
 {
   document.userGameForm.action = newAction;
 }

Eu gostaria que o servlet para ter acesso a userBean

 <jsp:useBean id = "userBean" scope = "session" class = "org.project.User" />
Foi útil?

Solução

Você tipo de baralhar as coisas aqui.

onclick () é Javascript e executado no lado do cliente. Ele não tem como (direto) para atualização bean com escopo de sessão. Que o feijão é deixado no lado do servidor, e foi usado quando a página HTML era gerado . Para passar parâmetros ao servlet você precisa usar bons velhos campos do formulário e enviar o formulário.

Adicionar mais campos para o formulário, defina seus valores antes de enviar, em seguida, enviar.

No Servlet chamada request.getParameter ( "nome");

P.S. Para automatizar este tipo de coisas Usar STRUTS . :-) Struts faz exatamente o que você quer: antes de passar os parâmetros para a ação, ele preenche o feijão com esses parâmetros. Transparente.

Outras dicas

Depende exatamente o que você está tentando fazer. A

<jsp:useBean id = "userBean" scope = "session" class = "org.project.User" />

tag

permitirá que você use o atributo userBean da sessão em sua jsp. Se não houver um atributo userBean na sessão, ele irá criar uma nova (usando o construtor padrão para org.project.User) e colocá-lo na sessão.

Então, quando você chegar ao servlet, você pode recuperá-lo com:

User user = (User)request.getSession().getAttribute("userBean");
 getServletConfig().getServletContext().getRequestDispatcher("servlet path & name");         
 dispatcher.forward (request, response);

Hi tentar com o seguinte tag:

<jsp:useBean id = "userBean" scope = "session" class = "org.project.User"/>
 <jsp:setProperty name="beanName" property="propertyname" value="value"/>
</jsp:useBean>

aqui

Boa sorte!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top