JSP代码:<x:dataTable var="subList" value="#{ControlBean.dataModel}"
id="defaultlist" rows="20" border="3" styleClass="datatable"width="100%">
<f:facet name="header">
            <h:outputText value="科目月度余额信息表" />
         </f:facet>
       <h:column>
<f:facet name="header">
             <h:outputText value="机构号" style="width:40px" />
</f:facet>
             <h:outputText value="#{subList.idbank}" />
        </h:column>
   <h:column>
<f:facet name="header">
<h:outputText value="勾兑结果" style="width:50px" />
          </f:facet>
<h:selectOneMenu id="comboDirFlag" value="#{subList.repcode}"
          style="width: 80" styleClass="selectitems">
<f:selectItems id="replyFlagDescItemMap"
value="#{ControlBean.replyFlagDescItemMap}" />
</h:selectOneMenu>
</h:column></x:dataTable>后台java类:public void addListener(ActionEvent ae) throws DaoException {
errorMessage = "";
if (innerList != null && innerList.size() > 0) {
             int count = 0;
for (int i = 0; i < innerList.size(); i++) {
     Innermaindata cm = (Innermaindata) innerList.get(i);
                System.out.println(cm.getRepcode());
     }
         } else {
     errorMessage = "没有记录!";
}
}
不管我页面选择哪个选项,输出的总是 0;
大侠们,帮看下,哪个地方有问题,感激不尽,只有40分了,全部奉上

解决方案 »

  1.   

    看你的后台java类,没有写在jsp页面上嘛。是不是还需要一个actionListener?
      

  2.   

    兄台,首先感谢你的回帖,
    <x:aliasBean alias="#{ControlBean}" value="#{checksubject}">
    页面上已经这样写了,后台获取页面其他属性是没问题的,就是在dataTable每一行加个下拉列表,后台取不到下拉列表选择的值
      

  3.   

    没明白你的思路,不过这样做肯定是可以的。页面中
    <h:selectOneMenu id="comboDirFlag" value="#{subList.repcode}"
    style="width: 80" styleClass="selectitems" 
    onchange="submit()"
                            valueChangeListener="#{ControlBean.addListener}">
    <f:selectItems id="replyFlagDescItemMap"
    value="#{ControlBean.replyFlagDescItemMap}" />
    </h:selectOneMenu>ControlBean中Java代码
    public void addListener(ValueChangeEvent event)
    {
    System.out.println("Old:" + event.getOldValue() + ", new:" +
    event.getNewValue());
    }