{WEB} - Enviar JavaScript via Java

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.

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.

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!).

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.

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.

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.