<h:inputText onkeypress="if(event.which < 48 || event.which > 57) return false;"/>
- это короткий путь, если вы хотите принимать только целые числа.
Преимущество над type="number"
заключается в том, что вы даже не можете ввести нецифровое