Como simular um Eventlistener no JSP, sem usar JavaScript?

14 respostas
jspjava
A

como eu posso capturar uma mudança, por exemplo a seleção de uma opção no <select/>
pra atualizar outra sem recarregar a página? gostaria de fazer isso sem JavaScript ou SQL.

14 Respostas

L

Sem usar javascript e sem recarregar a página é complicado. Os caminhos que conheço, ou usam JS, ou recarregam a página.

A

então, js até da, mas eu gostaria de fazer esse projeto inteiro só com java, eu achei uma anotação @WebListener, que parece que ela serve pra verificar as mudanças nas páginas, não sei se da pra substituir, n sei muito sobre ,

L

Esses listeners tem outro propósito. Com eles vc consegue executar ações acerca dos HttpSessions e das Servlets. Não envolve JSPs diretamente.

Pelo simples fato de ter uma mudança num select, como vc mencionou, seria necessário realizar uma subissão num form para executar uma ação, o que causaria o recarregamento da página, ou com js, mas ai teria o uso do JS (que vc não quer).

Infelizmente, não consigo pensar em outra forma.

A

Obrigado, vou usar JS msm ent. to o dia todo pesquisando e nada :-(. Qual a vantagem de programar em Java ou JSP, se ele tem esses tipos de limitações?É bem mais simples fzr td JS, to nessa teimosia pq gosto de java msm.

L

Não misture o frontend e o backend. Nesse caso, java é melhor utilizado no backend. Para frontend, hoje em dia, javascript domina. Principalmente nessa onda de single page applications.

Mas, a critério de curiosidade, vc consegue “usar java” nas páginas por meio de taglibs. Vc cria a taglib e a utiliza como uma tag no html.

A

ent, java no front só da dor de cabeça, é gambiarra demais pra funcionar. Mas tipo meu projeto é tão simples, que se eu deixar essa parte pro Java Script, acabo o usando o java só pro CRUD, tipo essa parte de preencher o select é buscar na api do IBGE e preencher o segundo select de acordo com o estado do primeiro select, e enviar o formulário pro banco.

L

Vc está acessando a API do IBGE diretamente pelo JSP? Se tu quiser usar mais o java para poder praticar, pode recuperar esses dados externos no backend.

A

eu faço a req toda no Java, passo só o JSONArray pro JSP, lá eu pego cada estado como JSONObject e preencho o select.
Minha linguagem preferida é de longe java, to aprendendo JS mas ainda tô num ponto muito superficial, ent até agr pelo que vi JS parece ser muito mais fácil de trabalhar e mais eficiente, mas eu acho que isso é pq eu ainda to na base ent n consigo comparar tds os pontos. Tipo, eu já sei o porque do Java n chegar nem aos pés do JS no Front, mas e no Back-end, oq torna o Java melhor pra isso?

L

No backend, o que fortalece o java, são as ferramentas que existem feitas com ela. Por exemplo, tem o spring que eh excelente para desenvolver qualquer sistema. É muita coisa disponível que permite criar sistemas críticos que deixa o ecossistema bastante robusto. Sem falar na comunidade que eh muita grande e sempre contribui com bastante coisa (acho que a parte da comunidade eh a parte fundamental para o sucesso que o java é).

Mas digo tb que, hoje em dia, nem eh o java msm que está com a bola toda, mas sim a JVM, pois permite rodar outras linguagens na mesma plataforma (linguagens ainda mais produtivas ainda). Tb gosto do java, mas foi fundamental as melhorais que a linguagem sofreu nas últimas versões, senão não iria valer a pena usá-la, diante dos recursos que outras linguagens tem.

A

concordo a comunidade mantem o Java vivo. ainda n cheguei no Spring, mas pelo que vi ele era um carro-chefe do Java, mas o Spring tbm ta migrando pra outras linguagens como o kottlin, que é mais prática e tbm usa a JVM. Infelizmente acho que o java vai perder bastante popularidade, mas java é divertido de programar e eu nem sei dizer pq.

L

Pode até perder popularidade, mas acredito que vá demorar bastante. Ainda tem muita coisa que sustenta a popularidade, como frameworks, libs, etc. E a questão da retrocompatibilidade é algo que ainda eh visto.

E, quando as novas versões ficarem mais disseminadas, talvez a popularidade aumente, e ainda mais se mais novidades vierem.

De qualquer forma é sempre bom aprender outras linguagens (e não ser programador de uma linguagem só). Quanto mais opções, melhor neh.

A

Vdd, recentemente o Java tem adotado a politica do ECMA, de atualizar com mais frequência. se n me engando do java 9 pra cá foi uma atualização por semestre.

L

Isso mesmo. Dai vieram grandes mudanças, pq até a versão 7, dava dó. O brabo eh os recursos das ultimas versões estiveram disseminadas. Até lah eh ir usando o que estiver mais maduro, como as versões 8 ou 11 mesmo.

A

A versão 11 na minha opinião foi a uma das mais relevantes, chegou httpClient que n sei pq n tinha antes, é barril ter que procurar por libs externas pra usar, agr tem um padrão pra fzr essas requests.

Criado 20 de julho de 2020
Ultima resposta 20 de jul. de 2020
Respostas 14
Participantes 2