JSF e máscaras de entrada

Prezados,
Como colocar máscaras de entrada em um campo Data (DD/MM/YYYY) num formulário JSF, preferencialmente sem utilizar nenhum componente extra?

Voce tera que usar javaScript segue exemplo

Função JavaScript

function Mascara(tipo, campo, teclaPress) {
	if (window.event) {
		var tecla = teclaPress.keyCode;
	} else {
		tecla = teclaPress.which;
	}
	var s = new String(campo.value);
	// Remove todos os caracteres � seguir: ( ) / - . e espa�o, para tratar a
	// string denovo.
	s = s.replace(/(\.|\(|\)|\/|\-| )+/g, '');

	tam = s.length + 1;

	if (tecla != 9 && tecla != 8) {
		switch (tipo) {
		case 'CPF':
			if (tam > 3 && tam < 7)
				campo.value = s.substr(0, 3) + '.' + s.substr(3, tam);
			if (tam >= 7 && tam < 10)
				campo.value = s.substr(0, 3) + '.' + s.substr(3, 3) + '.'
						+ s.substr(6, tam - 6);
			if (tam >= 10 && tam < 12)
				campo.value = s.substr(0, 3) + '.' + s.substr(3, 3) + '.'
						+ s.substr(6, 3) + '-' + s.substr(9, tam - 9);
			break;

		case 'CNPJ':

			if (tam > 2 && tam < 6)
				campo.value = s.substr(0, 2) + '.' + s.substr(2, tam);
			if (tam >= 6 && tam < 9)
				campo.value = s.substr(0, 2) + '.' + s.substr(2, 3) + '.'
						+ s.substr(5, tam - 5);
			if (tam >= 9 && tam < 13)
				campo.value = s.substr(0, 2) + '.' + s.substr(2, 3) + '.'
						+ s.substr(5, 3) + '/' + s.substr(8, tam - 8);
			if (tam >= 13 && tam < 15)
				campo.value = s.substr(0, 2) + '.' + s.substr(2, 3) + '.'
						+ s.substr(5, 3) + '/' + s.substr(8, 4) + '-'
						+ s.substr(12, tam - 12);
			break;

		case 'CNPJCPF':
			if (tam > 3 && tam < 7)
				campo.value = s.substr(0, 3) + '.' + s.substr(3, tam);
			if (tam >= 7 && tam < 10)
				campo.value = s.substr(0, 3) + '.' + s.substr(3, 3) + '.'
						+ s.substr(6, tam - 6);
			if (tam >= 10 && tam < 12)
				campo.value = s.substr(0, 3) + '.' + s.substr(3, 3) + '.'
						+ s.substr(6, 3) + '-' + s.substr(9, tam - 9);
			if (tam >= 14)
				campo.value = s.substr(0, 3) + '.' + s.substr(3, 3) + '.'
						+ s.substr(6, 3) + '/' + s.substr(9, 3) + '-'
						+ s.substr(12, tam - 12);
			break;

		case 'TEL':
			if (tam > 2 && tam < 4)
				campo.value = '(' + s.substr(0, 2) + ') ' + s.substr(2, tam);
			if (tam >= 7 && tam < 11)
				campo.value = '(' + s.substr(0, 2) + ') ' + s.substr(2, 4)
						+ '-' + s.substr(6, tam - 6);
			break;

		case 'DATA':
			if (tam > 2 && tam < 4)
				campo.value = s.substr(0, 2) + '/' + s.substr(2, tam);
			if (tam > 4 && tam < 11)
				campo.value = s.substr(0, 2) + '/' + s.substr(2, 2) + '/'
						+ s.substr(4, tam - 4);
			break;

		case 'CEP':
			if (tam > 2 && tam < 6)
				campo.value = s.substr(0, 2) + '.' + s.substr(2, tam);
			if (tam >= 6 && tam < 9)
				campo.value = s.substr(0, 2) + '.' + s.substr(2, 3) + '-'
						+ s.substr(5, tam - 5);
			break;
		}

	}
}

seu input

<h:inputText onkeypress="Mascara('DATA',this,event);" />

[quote=leonardobhbr]Voce tera que usar javaScript segue exemplo

Função JavaScript

function Mascara(tipo, campo, teclaPress) {
	if (window.event) {
		var tecla = teclaPress.keyCode;
	} else {
		tecla = teclaPress.which;
	}
	var s = new String(campo.value);
	// Remove todos os caracteres &#65533; seguir: ( ) / - . e espa&#65533;o, para tratar a
	// string denovo.
	s = s.replace(/(\.|\(|\)|\/|\-| )+/g, '');

	tam = s.length + 1;

	if (tecla != 9 && tecla != 8) {
		switch (tipo) {
		case 'CPF':
			if (tam > 3 && tam < 7)
				campo.value = s.substr(0, 3) + '.' + s.substr(3, tam);
			if (tam >= 7 && tam < 10)
				campo.value = s.substr(0, 3) + '.' + s.substr(3, 3) + '.'
						+ s.substr(6, tam - 6);
			if (tam >= 10 && tam < 12)
				campo.value = s.substr(0, 3) + '.' + s.substr(3, 3) + '.'
						+ s.substr(6, 3) + '-' + s.substr(9, tam - 9);
			break;

		case 'CNPJ':

			if (tam > 2 && tam < 6)
				campo.value = s.substr(0, 2) + '.' + s.substr(2, tam);
			if (tam >= 6 && tam < 9)
				campo.value = s.substr(0, 2) + '.' + s.substr(2, 3) + '.'
						+ s.substr(5, tam - 5);
			if (tam >= 9 && tam < 13)
				campo.value = s.substr(0, 2) + '.' + s.substr(2, 3) + '.'
						+ s.substr(5, 3) + '/' + s.substr(8, tam - 8);
			if (tam >= 13 && tam < 15)
				campo.value = s.substr(0, 2) + '.' + s.substr(2, 3) + '.'
						+ s.substr(5, 3) + '/' + s.substr(8, 4) + '-'
						+ s.substr(12, tam - 12);
			break;

		case 'CNPJCPF':
			if (tam > 3 && tam < 7)
				campo.value = s.substr(0, 3) + '.' + s.substr(3, tam);
			if (tam >= 7 && tam < 10)
				campo.value = s.substr(0, 3) + '.' + s.substr(3, 3) + '.'
						+ s.substr(6, tam - 6);
			if (tam >= 10 && tam < 12)
				campo.value = s.substr(0, 3) + '.' + s.substr(3, 3) + '.'
						+ s.substr(6, 3) + '-' + s.substr(9, tam - 9);
			if (tam >= 14)
				campo.value = s.substr(0, 3) + '.' + s.substr(3, 3) + '.'
						+ s.substr(6, 3) + '/' + s.substr(9, 3) + '-'
						+ s.substr(12, tam - 12);
			break;

		case 'TEL':
			if (tam > 2 && tam < 4)
				campo.value = '(' + s.substr(0, 2) + ') ' + s.substr(2, tam);
			if (tam >= 7 && tam < 11)
				campo.value = '(' + s.substr(0, 2) + ') ' + s.substr(2, 4)
						+ '-' + s.substr(6, tam - 6);
			break;

		case 'DATA':
			if (tam > 2 && tam < 4)
				campo.value = s.substr(0, 2) + '/' + s.substr(2, tam);
			if (tam > 4 && tam < 11)
				campo.value = s.substr(0, 2) + '/' + s.substr(2, 2) + '/'
						+ s.substr(4, tam - 4);
			break;

		case 'CEP':
			if (tam > 2 && tam < 6)
				campo.value = s.substr(0, 2) + '.' + s.substr(2, tam);
			if (tam >= 6 && tam < 9)
				campo.value = s.substr(0, 2) + '.' + s.substr(2, 3) + '-'
						+ s.substr(5, tam - 5);
			break;
		}

	}
}

seu input

<h:inputText onkeypress="Mascara('DATA',this,event);" />

Valeu pela dica.
Funcionou legal.