Passar variavel JSP(JS) -> Java

9 respostas
L

Fala ae pessoal. feliz ano novo pra vocês!!

meu caso é o seguinte: eu tenho uma JSP e um bean nessa JSP:

eu importo o bean

<%@page import="pacote.Pessoa"%>

e pra usar os metodos que eu quero eu instancio a classe:

%Pessoa P = new Pessoa(); %>

mas agora eu preciso passar um valor do JS para o java, um exemplo de como eu tentei:

<%=P.setNome(string)%>

esse codigo não funciona porque o ele não reconhece a variavel “string” do JSP.

alguem sabe como eu posso fazer isso???
e se alguems souber como eu posso pegar a variavel do bean com o valor setado na primeira jsp numa segunda jsp seria muito util
Obrigado.

9 Respostas

J
<%=P.setNome(string)%>

A sua sintaxe está errada.
Você está usando uma expressão em vez de um scriptlet.

Ao usar expressões você tem que chamar algo que retorna algum valor,
e pelo jeito seu método setter retorna void, e por isso gera erro.

O correto seria usar <% %>,

mas o mais correto seria eliminar scriptlet de suas páginas e usar ações.

<jsp:setProperty name=“mybean” property="*" />
<jsp:setProperty name=“mybean” property=“username” />
<jsp:setProperty name=“mybean” property=“username” value=“Steve” />

Procure no google <jsp:setProperty e veja o funcionamento dessa Ação.

L

johny, valeu eu consegui setar o valor, com as ações. mas teria algum jeito de recuperar o valor setado numa segunda JSP??

eu ja vi o jsp:getProperty mas ele não retorna o valor da primeira jsp ele retorna null (ja que no bean não tem valor setado para ele).

J

Para setar um Objeto Pessoa para que várias telas JSPs possam acessar é
preciso você definir qual será a visibilidade de tal atributo.

Se será visto somente nesse Request, Application ou Session.

Procure no google uma Tag JSTL chamada

<c:set

Com ela você consegue persistir seu objeto person em várias telas JSPs.
Qualquer dúvida só falar.

L

cara voce tem algum link para um tutorial ou algo parecido que fale disso, eu não to conseguindo achar nada util(para esse caso) sobre isso!!!

e ele vai substituir o jsp:setProperty?? e pelo que eu vi ela nem usa o bean!! (o que na realidade não é tão ruim!!!)!!

J

Respondendo.

http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.jet.doc/references/taglibs/controlTags/setTag.html

http://www.exampledepot.com/egs/javax.servlet.jsp.jstl.core/attr.html

Boa diversão. :smiley:

L

Fala ae cara valeu pelos sites mas eu encontrei os seguintes problemas:

-Na página do eclipse ele poe:

&lt;c:set select="value" name="value"&gt; content to be written &lt;/c:set&gt;
E quando eu escrevo esse codigo ele não reconhece os atributos select e name.

-Na segunda página que você me mandou eu não entendi muito bem o que aconteceu o código exemplo foi:

&lt;c:set var="contrato" value="#{pagamentoAntecipadoBean.contratoSelecionado}" scope="page"/&gt; &lt;br:brOutputTextBold value="#{contrato.numContrato}" id="txtNumContrato" escape="false"&gt;

Eu entendi o c:set e tal mas o value ta apontando para um bean?? Ele quer botar o valor da variavel do bean na variavel da jsf??

-Quarta página (essa eu até tinha visto antes!) o código esta assim:

&lt;c:set var="name1" value="value1" scope="page" /&gt;

Ele ta setando uma variavel com um valor1 e com uma certa scope mas eu não vejo como ele se liga com a variavel no bean!

Eu talves não tenha me expressado bem mas o que eu quero é:

-Setar o valor de uma variavel do BEAN pela JSP1.
-ir para JSP2 acessar um METODO do BEAN que use o valor setado na JSP1

A variavel não precisa ser chamada na JSP2 é como se na jsp1 eu instanciase um objeto e esse objeto fica-se acessivel para jsp2

Eu consegui setar a variavel com o jsp:setProperty mas quando eu ia para a jsp2 esse valor não estava acessivel.

Obrigado.

J

http://javafree.uol.com.br/topic-880391-usando-o-&ltc-set.html

http://www.exampledepot.com/egs/javax.servlet.jsp.jstl.core/attr.html

http://www.java2s.com/Code/Java/JSTL/JSTLSetVariablesScope.htm

http://download.oracle.com/javaee/1.3/tutorial/doc/JSTL5.html

Dê uma olhada e veja o funcionamento da tag <c:set

L

Fala ae cara, tudo bem? ae obrigado por toda ajuda! Mas eu sou bem novo mesmo nesse papo de java, e eu comecei a explorar jsp a menos de 1 mês e meio, e aparada é o seguinte, eu me perdi legal em tudo isso, eu li as páginas que você me mandou (por acaso uma delas é de um forum com outra pergunta minha!) e ainda não consegui fazer muita coisa com essas tags. sera que você podia botar um exemplo (completo!) para eu dar uma olhada? Desculpa ae pelo trabalho.

Obrigado.
*alias eu li isso aqui:
http://download.oracle.com/javaee/1.3/tutorial/examples/web/bookstore4/showcart.txt
mas acabou sendo muito complicado :frowning: … e eu tava pensando num exemplo que levasse duas jsp’s

L

Rapaz!! consegui finalmente. eu tava meio enrolado com a parada do bean e não sabia o que alguns atributos faziam ou o que significava o “$” mas no final até que foi bem simples!! muito obrigado por tudo, valeu!!

JSP1

&lt;c:set var="variavel"  value="x" scope="session"/&gt;

JSP2

alert("&lt;c:out value=' ${variavel}' /&gt;" );

Agora é so trocar esse “x” por uma função que pegue a url da pagina e depois passar para o bean.

mais uma ciosa eu achei esse site mutio util!
http://www.hscripts.com/tutorials/jsp/index.php

Criado 3 de janeiro de 2011
Ultima resposta 5 de jan. de 2011
Respostas 9
Participantes 2