也许这是一个微不足道的问题,但我需要一些理解。
我有一个<h:inputText value="#{bean.name}"/>
标签和一个“创建”按钮,用于在数据库中插入值。如果我只输入值并点击“Create”,则抛出ConstraintViolationException,因为#{bean.name}
值为null。我刚刚发现如果在键入值后按Enter键,则绑定属性中的字符串中的字符串将成功保留。
所以,问题是:我必须在inputText周围包含richfaces或a4j标签,以便组件自动设置de bean的值?代码非常简单:
<h:form>
<h:inputText id="name" value="#{bean.name}">
<h:commandButton value="Create" actionListener="#{bean.create}"/>
</h:form>
更新
我设法通过以下方式达到了所需的行为:
<h:inputText id="name" value="#{bean.name}">
<a4j:ajax event="keydown" execute="@form"/>
</h:inputText>
是否有可以包装所有页面输入组件的标签并删除<a4j:ajax>
标签?