Pessoal,
Tenho um projeto que utiliza o seam com jsf e facelets e estou com um problema para criar uma mascara simples de data para preencher os “/” conforme o usuario vai digitando. Ja tentei o jquery do richfaces, javascript (seria facil, mas nao consigo manipular o valor do componente HTMLinputElement) e estou tentando o a4j, mas em todos esbarro em problemas onde dificilmente encontro a solução na internet.
No caso agora estou tendo um problema com o atributo binding do a4j:support:
javax.el.PropertyNotWritableException: /T233Ev01CreateRevendas.xhtml @284,140 binding=“t233SeamBean.userInput”: Illegal Syntax for Set Operation
O erro parece simples, mas nao existe nada de errado com o meu metodo setter. Segue o codigo:
Código da pagina:
<s:decorate template="layout/display.xhtml" id="dataEmissaoD">
<ui:define name="label">Data Emissão CRV 3</ui:define>
<h:inputText id="dataEmissao" value="#{t233SeamBean.t233Ev01.dataEmissaoDT}" required="true" maxlength="10">
<f:convertDateTime timeZone="#{t233SeamBean.t233Ev01.timeZone}" pattern="dd/MM/yyyy" />
<a4j:support event="onkeypress" reRender="dataEmissao" action="#{t233SeamBean.formatar}" binding="t233SeamBean.userInput"></a4j:support>
<a4j:support event="onblur" ajaxSingle="true" reRender="dataEmissaoD"/>
</h:inputText>
<h:outputText value="(ex: 01/01/2010)" />
<ui:define name="message"><h:message for="dataEmissao" styleClass="error" /></ui:define>
</s:decorate>
Backing bean:
[code]private UIInput userInput;
public UIInput getUserInput() {
return userInput;
}
public void setUserInput(UIInput userInput) {
this.userInput = userInput;
}
public void formatar(){
UIInput input = new UIInput();
Object valor = input.getValue();
input.setValue("TESTE");
setUserInput(input);
}[/code]
Valeu pessoal!