ace:dateTimeEntry';ui中的s值:手动输入时通过ace:ajax重复重新显示和/或不清除

ace:dateTimeEntry';ui中的s值:手动输入时通过ace:ajax重复重新显示和/或不清除,ajax,jsf,icefaces-3,Ajax,Jsf,Icefaces 3,我重新创造了这个世界,并且取得了成功;然而,一旦我将ace:datetime条目包装到ui:repeat中,功能似乎就停止了 总体问题: 在ui:repeat中,如果用户从cal_输入(ace:dateTimeEntry的)中签出或提交表单,则ace:dateTimeEntry和ice:outputText的值将重新出现,即使在AJAX dateTextChangeListener触发(通过System.out语句见证)之后也是如此 如有任何想法,将不胜感激 环境信息 -冰面3.3.0 -JS

我重新创造了这个世界,并且取得了成功;然而,一旦我将ace:datetime条目包装到ui:repeat中,功能似乎就停止了

总体问题:
在ui:repeat中,如果用户从cal_输入(ace:dateTimeEntry的)中签出或提交表单,则ace:dateTimeEntry和ice:outputText的值将重新出现,即使在AJAX dateTextChangeListener触发(通过System.out语句见证)之后也是如此

如有任何想法,将不胜感激


环境信息
-冰面3.3.0
-JSF2.0
-JBoss应用服务器

目录结构
-layout.xhtml
--main.xhtml(具有

---date.xhtml


Date.xhtml-不起作用示例

 <div>
  <ui:repeat id="toast" value="#{backingBean.currentDetails}" var="row">
   <ace:panel>

    <ice:panelGrid width="100%">
     <ice:panelGroup>
      <ice:outputLabel for="text" value="Selected Date: "/>
      <ice:outputText id="text" value="#{backingBean.selectedDate}">
       <f:convertDateTime pattern="MMMM dd, yyyy"/>
      </ice:outputText>
    </ice:panelGroup>

    <ice:panelGrid width="100%">
     <ace:dateTimeEntry id="cal" value="#{backingBean.selectedDate}">
      renderAsPopup="true"
      timeZone="Canada/Mountain"
      pattern="MMM/dd/yyyy">
       <ace:ajax event="dateSelect" listener="#{backingBean.dateSelectListener" render=":mainForm:toast:0:cal :mainForm:toast:0:text"/>
       <ace:ajax event="dateTextChange" listener="#{backingBean.dateTextChangeListener" render=":mainForm:toast:0:cal :mainForm:toast:0:text"/>
      </ace:dateTimeEntry>
     </ice:panelGrid>

    </ace:panel>
   </ui:repeat>
  </div>
<div>
 <ace:panel>

  <ice:panelGrid width="100%">
   <ice:panelGroup>
    <ice:outputLabel for="text" value="Selected Date: "/>
    <ice:outputText id="text" value="#{backingBean.selectedDate}">
     <f:convertDateTime pattern="MMMM dd, yyyy"/>
    </ice:outputText>
   </ice:panelGroup>

  <ice:panelGrid width="100%">
   <ace:dateTimeEntry id="cal" value="#{backingBean.selectedDate}">
    renderAsPopup="true"
    timeZone="Canada/Mountain"
    pattern="MMM/dd/yyyy">
     <ace:ajax event="dateSelect" listener="#{backingBean.dateSelectListener" render="@this text"/>
     <ace:ajax event="dateTextChange" listener="#{backingBean.dateTextChangeListener" render="@this text"/>
    </ace:dateTimeEntry>
   </ice:panelGrid>

  </ace:panel>
 </div>

注意
我使用Firefox的Inspect元素查看id,并试图让它们指向后面;然而,这是不成功的。此外,当插入无法转换的值(如abc)时,控制台输出确认正确的id

我把这个改成了…:mainForm:toast:0:cal(也尝试了cal\u输入)
我把文字改成…:mainForm:toast:0:text

我也试过..
:主要形式:吐司 包装ui:在id为的h:panelGroup中重复此操作。
切换到h:dataTable


此外,在一些情况下,我可以让输入字段保持空白,但在表单提交时,会填充值。

我将ui:repeat替换为h:dataTable,将ace:panel包装为h:column,并删除了所有ace:ajax。ace:dateTimeEntry现在按预期工作

public void dateSelectListener(DateSelectEvent event)
 {
  this.selectedDate = event.getDate();
 }

public void dateTextChangeListener(DateTextChangeEvent event)
 {
  this.selectedDate = event.getDate();
 }