如何绕过dataTable中的验证? JSF

时间:2009-06-18 06:19:40

标签: java jsf

我的表中有两个SelectOneMenu。我需要在第二个菜单中填充数据,具体取决于首先选择的数据。我需要旁路验证阶段,因为。我动态地向表中添加行。

+-- Table ---------------------------------------------------+
|                           |                                |
| Field 1: |____________|v| |  Field 2.1: |____________|v|   |
+---------------------------+--------------------------------+
| Field 1: |____________|v| |  Field 2.2: |____________|v|   |
|                           |                                |
+------------------------------------------------------------+

有我的代码:   

                    <h:selectOneMenu value="#{rowItem.selectedItem1}"  immediate="true" valueChangeListener="#{rowItem.processValueChange}"
                                     onchange="submit()">
                        <f:selectItems value="#{rowItem.selectItems1}" />
                    </h:selectOneMenu>
                </h:column>
                <h:column>
                    <h:selectOneMenu value="#{rowItem.selectedItem1}" >
                        <f:selectItems value="#{rowItem.seriesItems2}" />
                    </h:selectOneMenu>

               ..... some more elements
            </h:dataTable>

在我的桌子支持bean中我有

 private ArrayList<RowItem> rowItems;

我想在我的类中使用processValueChange()代表RowItem,但我不能,因为我无法在我的RowItem类中绑定SelectOneMenu。

1 个答案:

答案 0 :(得分:1)

为什么在rowItem bean中有所有逻辑?

您是否可以使用Richfaces框架?

如果你,那么你将能够做到这样的事情:

<h:selectOneMenu value="#{rowItem.selectedItem1}">
  <f:selectItems value="#{rowItem.selectItems1}" />
  <a4j:support event="onchange" ajaxSingle="true" action="#{helperBean.loadSeriesItems2}" reRender="areaToRender"/>
</h:selectOneMenu>