JSP e javascript

6 respostas
maruero

Pessoal estou com uma dúvida simples.

Como eu faço pra obter a referência de um objeto declarado a partir de uma tag <jsp: usebean> em um ?

Mais ou menos o que eu queria fazer é o seguinte:

<jsp:useBean id="espectadoresMBean" scope="session" class="action.vendas.IdentificacaoEspectadoresManagerBean" />

				<script>
					function desabilitar(){
                                                if( espectadoresMBean.getDisponibilidade() )
							document.getElementsByName("adicionarEspectador").disabled = true;
					}
				</script>

				<stripes:button name="adicionarEspectador"
					value="+" onclick="desabilitar();"
					title="adicionar espectador" />

Mas esse código não dá certo eu acho que estou tentando referenciar a variável espectadoresMBean de forma errada.

Por favor alguem aí me de uma luz.

6 Respostas

gomesrod

Olá,

Tem uma coisa que você está confundindo:

O bloco de javascript é uma parte do HTML, ou seja é enviado para o cliente e o servidor (código JAVA) nem toma conhecimento. Apenas o browser é que sabe interpretar e executa-lo.

Portanto, para imprimir uma variável (do servidor) dentro do bloco javascript, faça como você faria para imprimi-la em qualquer parte do HTML:

${espectadoresMBean.disponibilidade}
maruero

Obrigado Gomesrod.

Hummm… certo, mas agora eu tenho outro problema!

Pois é um sistema de cinema. Toda vez que é clicado no botão adicionar espectador o contador do numero de lugares disponíveis é decrementado e eu gostaria que quando esse número chegar a zero o botão desative.

Porém utilizando ${espectadoresMBean.disponibilidade} vai ser o valor estático que vai aparecer na página e apenas quando a página for recarregada que irá funcionar.
Porém o botão adicionar não recarrega a página! Eu utilizo ajax para imprimir uma mensagem na tela dizendo que nao tem mais lugares… mas eu queria que o botão desativasse também… isso é possível?

Como eu poderia fazer isso então???

Marcio_Nogueira

Não necessáriamente, você pode ter seu código javascript em um arquivo à parte (.js) e fazer referência a este arquivo no código HTML da página. :wink:

maruero

Marcio não entendi!

maruero

Aguem me ajude!

Como posso manipular de forma dinâmica a estrutura de um .jsp de acordo com o ActionBean?

Ou não existe forma de fazer isso?!

Marcio_Nogueira
No que diz respeito ao código javascript na página jsp, você não precisa imbuti-lo diretamente na página:
<HTML>
  <HEAD>
     <SCRIPT LANGUAGE="JAVASCRIPT" TYPE="TEXT/JAVASCRIPT">
            ... código omitido
    </SCRIPT>
   </HEAD>
Você pode colocar seu código java srcipt em um arquivo separado e fazer referência a este arquivo em sua página HTML:
<@include file="script.js'>

Um abraço. :wink:

Criado 4 de dezembro de 2008
Ultima resposta 6 de dez. de 2008
Respostas 6
Participantes 3