a4j: поддержка и шов: недопустимый синтаксис для операции над множествами - PullRequest
0 голосов
/ 05 января 2011

Я обычно решаю эту проблему, используя javascript, но я пытаюсь использовать de a4j в проекте шва + jsf + face. Я просто хочу создать простой ввод маски для даты, используя ajax4jsf, но у меня всегда одна и та же ошибка: недопустимый синтаксис для операции над множествами. Я следовал за этим примером страницы: http://www.javabeat.net/articles/19-introduction-to-ajax4jsf-3.html.

Код страницы:

<s:decorate template="layout/display.xhtml" id="dataEmissaoD">
   <ui:define name="label">Data Emissão CRV</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>

Фасоль:

private UIInput userInput;

public UIInput getUserInput() {
    return userInput;
}

public void setUserInput(UIInput userInput) {
    this.userInput = userInput;
}

public void formatar(){
    UIInput input = new UIInput();
    input.setValue("TESTE");
    setUserInput(input);
}

Методы установки и получения являются нормальными, но когда я захожу на страницу, я получаю эту ошибку:

javax.el.PropertyNotWritableException: /T233Ev01CreateRevendas.xhtml @ 284,140 binding = "t233SeamBean.userInput": недопустимый синтаксис для операции набора

кто-нибудь может дать мне подсказку?

заранее спасибо

1 Ответ

0 голосов
/ 06 января 2011

Это выглядит не так:

binding="t233SeamBean.userInput"

Вы не можете связать компонент ввода с компонентом поддержки Ajax.

...