Jsf 如何在p:orderList中获取行索引?

Jsf 如何在p:orderList中获取行索引?,jsf,jsf-2,Jsf,Jsf 2,我有一个简单的p:orderList实现,其中我显示任务对象的数组列表,即任务名称和commandButton,它显示关于任务的更多详细信息: <p:orderList value="#{taskBean.tasks}" var="t" controlsLocation="none" itemValue="#{t}" id="tasks"/> <p:column> <h:outputLabel v

我有一个简单的p:orderList实现,其中我显示任务对象的数组列表,即任务名称和commandButton,它显示关于任务的更多详细信息:

<p:orderList value="#{taskBean.tasks}" var="t" controlsLocation="none"
           itemValue="#{t}" id="tasks"/>
        <p:column>   
             <h:outputLabel value="#{t.name}"/>
        </p:column>

        <p:column><h:form>
           <p:commandButton title="Details" oncomplete="#{taskBean.details(t.id)}" 
              icon="ui-icon-document-b"/>
        </h:form></p:column>
</p:orderList>

该按钮调用bean方法,该方法在带有任务id的数组列表中查找任务并显示它。 现在由于某种原因,在orderList中的所有行中,我都将最后一个(t.id)作为所有按钮的属性,因此它们都显示最后一个任务

知道我该怎么办吗


我的第二个问题是,如何添加保存任务数组列表当前顺序的按钮?

这里有些问题
oncomplete
是一个Javascript回调<代码>{taskBean.details(t.id)}返回Javascript代码?!或者你想调用
taskBean.details
methodon按钮点击?您应该使用
action
attribute then.no,这一切都很好,details(t.id)返回字符串,显示带有详细信息的对话框。只是这个t.id在所有行中都以相同的值结束…您应该放置一些客户端代码,如
oncomplete=“#{alert('t.id')}”
,而不是像您那样引用bean方法…我明白了,但我仍然需要从数组列表中挖掘正确的任务对象,这就是我使用bean的原因…您的意思是
(使用动作属性?)