JSF: evento capturar tecla precionada

8 respostas
D

Boa tarde galera,

Gostaria de saber se em JSF tem como eu identificar qual tecla o usuário teclou? Estou fazendo uma página com vários inputText. O primeiro inputText vai servir de navegação, ou seja, enquanto o primeiro inputText tiver o foco, se o usuário precionar a tecla com a seta para cima quero exibir o próximo registro do list nos inputText da página, se o usuário teclar a seta para baixo exibo o registro anterior do list nos inputText. É possivel fazer isso com JSF?

Att,
Donizete Waterkemper

8 Respostas

P

da uma olhada aqui

http://www.primefaces.org/showcase/ui/hotkey.jsf

D

Show de bola o exemplo!

Mas sem usar PrimeFaces, JSF puro, como fica?

Att,
Donizete Waterkemper

P

penso em usar o evento onKeyPress depois identificar e executar a ação.

achei alguns exemplos

http://andafter.org/blogs/odesenvolvedor/publicacoes/tabela-de-key-codes-para-javascript_1464.html

D

Não posso usar JavaScript.

No xhtml eu tenho:

<h:inputText value="#{principalControle.principal.id}"
	size="5" >
	<p:ajax event="keyup" update="@Form"  actionListener="#{principalControle.teclou}" />
</h:inputText>

No menagerBean eu tenho:

public void teclou(ActionEvent event){
    	Object searchWord =  event.getSource();
    	System.out.println("Teclou: " + searchWord);
    }

Será que estou usando o evento certo? Como faço para pegar a tecla?

P

pq não usar o javascript ? em java usa o KeyEvent, vou tentar implementar alguma coisa

D

Essa página tbm vai ser acessada por celulares, então quero evitar JavaScript.

P

quando vc acessa um método no java ele lança um AjaxBehaviorEvent agora como converter para KeyEvent eu tambem não sei.

edit: No jsf vc ja usa javascript, então não vejo problemas em usa-lo.

D

Ok! Vc tem razão. Como faço para chamar o meu método do managerBean com javaScript?

Criado 25 de abril de 2011
Ultima resposta 25 de abr. de 2011
Respostas 8
Participantes 2