{WEB} - Enviar JavaScript via Java

5 respostas
erickcellani

Olá pessoal,
Gostaria da ajuda de vc’s.

Minha classe de negócio pode tomar dois caminhos (dependendo da resposta do usuário), sendo assim, eu preciso interagir com o usuário enviando um “confirm” (javascript) e ao fazer isso preciso parar a execução da classe até o usuário responder. Para melhor entendimento, o que eu preciso fazer é exatamente o mesmo que o JOptionPane faz, porém, eu preciso disso em uma aplicação WEB.

Bom, qualquer desenvolvedor web questionará isso, então já antecipo a explicação:

Estamos migrando um Sistema que foi desenvolvido em C++ para Java, e uma das exigências do nosso cliente é:
Deixar o sistema idêntico ao antigo, porém em outra tecnologia (ele tem os motivos dele para poder solicitar isso).

Grato.

5 Respostas

L

Desculpe, mas porque a classe tem que enviar um JavaScript?

Você não poderia simplesmente fazer com que a classe comece sua execução simplesmente se receber uma requisição do browser? E essa requisição só seria ativada quando o cliente apertar o confirm da janelinha do JavaScript?

Lembre-se, quando o cliente diz que tem que ficar igual, é somente a interface de usuário. As soluções que ficam “escondidas” podem e devem ser mudados para se adequar ao novo ambiente.

erickcellani

então…
com certeza!! a sua afirmação está correta!

mas o problema é o seguinte:
O sistema “pode” enviar o js após algumas validações que devem ser feitas na base de dados. E por mais incrível que pareça, tem casos que o js deve ser chamado dentro de um laço, cheguei a ver casos que chamam uma janela de confirmação mais de 1.500 vezes (sem brincadeira!).

erickcellani

Bom… eu sei que o GWT tem uma funcionalidade para isso!!

mas não estou conseguindo implementar no meu projeto, alguém tem alguma experiência com esta ferramenta para me ajudar?

Window.confirm("Message");

o problema é:
Como fazer o GWT rodar dentro do meu projeto?

(Se ainda houver outra idéia que não use o GWT será mto bem vinda).

Grato.

L

Só vejo uma solução: File > New > Project

O grande problema é que houve uma mistura de camada de negócio e camada de apresentação. Quando é aplicação standalone, dá pra deitar e rolar com essa mistura. Quando é web, as coisas complicam.

Eu não sei se a denominação correta é validação, seria mais como uma requisição de negócio normal.

Faça o seguinte:

  1. Crie ações para cada “validação”, faça-os independentes de qualquer outra regra.
  2. Use algo Ajax, como o DWR, para fazer uma requisição ao servidor que invoca a ação do ítem 1, essa ação faz qualquer coisa, tipo: checar o banco de dados, e devolve algo que sirva pra fazer uma pergunta inteligível ao usuário.
  3. Armazene todas as respostas no cliente, quando chegar a uma ação que precise de alguma dessas respostas, basta enviá-lo como parâmetro.
  4. Nos finalmente, mude a sua tela para a próxima.

O negócio deve tá podre, vai ter que mudar muita coisa pra dar certo.

erickcellani

Ninguém concorda com a regra de negocio aplicada, mas temos que fazer!

A solução mais inteligente que conseguimos ver até agora foi usando a ferramenta GWT (Google Web Toolkit). Sei que funciona exatamente como eu quero, mas não sei como colocar no meu projeto.

Criado 16 de novembro de 2007
Ultima resposta 16 de nov. de 2007
Respostas 5
Participantes 2