可能重复:
How can I pass a parameter to a commandLink inside a datatable?
我有一个MySQL数据库。我只使用一个名为USERS的表,其中包含以下列:userid,username,name,age。我通过以下方式显示它们:
<h:dataTable
var="my_user"
value="#{user.users}"
border="1"
styleClass="mainTable"
headerClass="heading"
rowClasses="evenRow, oddRow, "
id="rend">
<h:column>
<f:facet name="header">#{lng.userId}</f:facet>
<h:outputText value="#{my_user.userId}" />
</h:column>
<h:column>
<f:facet name="header">#{lng.username}</f:facet>
<h:outputText value="#{my_user.username}" />
</h:column>
<h:column>
<f:facet name="header">#{lng.name}</f:facet>
<h:outputText value="#{my_user.name}" />
</h:column>
<h:column>
<f:facet name="header">#{lng.age}</f:facet>
<h:outputText value="#{my_user.age}" />
</h:column>
<h:column>
<f:facet name="header">#{lng.edit}</f:facet>
<h:graphicImage name="edit.png" library="images" styleClass="tableIcon">
<f:ajax event="click" listener="#{someClass.edit}" render="rend"/>
</h:graphicImage>
</h:column>
<h:column>
<f:facet name="header">#{lng.del}</f:facet>
<h:graphicImage name="delete.png" library="images" styleClass="tableIcon">
<f:ajax event="click" listener="#{someClass.delete}" render="rend"/>
</h:graphicImage>
</h:column>
</h:dataTable>
(国际化,这就是为什么#{lng。*})
我有两列带有用于编辑和删除的图标。我该怎么做才能将特定行上的用户ID传递给我的函数进行删除和编辑?
答案 0 :(得分:0)
如何做到这一点的方法很少
在JSF 2.0中,方法表达式可以带参数
<h:commandLink action="#{myBean.execute('hello')}"/>
要使用f:param标签并在action方法内部,您可以从参数map中获取该值
FaceContext.getCurrentInstance().getExternalContext().getRequestParametersMap()
使用f:setPropertyActionListener标记