После некоторой игры с компонентом Кажется, что код jquery генерируется по-разному в компоненте facelet, который непосредственно на странице.HTML-код, отображаемый на стандартной странице JSF, будет выглядеть следующим образом:
<td><script type="text/javascript">//<![CDATA[
jQuery(document).ready(function() {
var selector = "#clientForm\\:postalCode";
try {
selector = eval("#clientForm\\:postalCode");
} catch (e) {}
jQuery(selector).mask('a9a 9a9');
});
Но в компоненте код:
<td><script type="text/javascript">//<![CDATA[
jQuery(document).ready(function() {
var selector = "#postalCode";
try {
selector = eval("#postalCode");
} catch (e) {}
jQuery(selector).mask('a9a 9a9');
});
Добавление идентификатора и имени формы непосредственно вСелектор jquery решает проблему, поэтому окончательный код выглядит следующим образом:
<h:inputText id="#{id}-postalCode" value="#{myBeanPath.postalCode}" size="7" />
<rich:jQuery selector="#{form}\\:#{id}-postalCode" query="mask('a9a 9a9')" timing="onload" />
Должно работать нормально.