我有一个DataTable,里面放了从数据库中取出来的数据,然后在每一列中有一个输入框<h:inputText ../>  ,同时在每一行的末尾有一个按钮,我想在某行按钮的时候把输入框里的值输到Backing Bean里面要怎样实现??直接写<h:inputText value="bean.inputValue"/>这样不行,不管输入什么都是0...

解决方案 »

  1.   

    你这么写当然是不行的,你应该在数据表格里加几个控件
    <h:inputHidden id="id" value="#{var.id}" />
    <h:selectBooleanCheckbox id="selectedInd" value="#{bean.selected}" />
    然后在表格外加一个
    <h:inputHidden id="hiddenId" value="#{bean.hiddenId}"
    valueChangeListener="#{bean.changePreview}" />
    当selectBooleanCheckbox被选中的时候用js设置下面这个inputHidden的值,然后在Backing Bean的changePreview函数里根据hiddenId属性的值将你要的值赋给inputValue属性