数据表中的 JSF 命令按钮 id

问题描述 投票:0回答:2

如何在数据表中添加命令按钮?

<hx:dataTableEx value="#{searchData.searchFriends}" var="s">
   <hx:columnEx>
    <f:facet name="header">
     <h:outputText value="First Name" />
    </f:facet>
    <hx:requestLink action="#{pc_Search.doAddFriendAction}">
     <h:outputText value="Add as Friend" />
     <f:param name="friendId" value="#{s.memberId}" />
    </hx:requestLink>
   </hx:columnEx>
  </hx:dataTableEx>

在后台获取数据

String friendId = (String)getRequestParam().get("friendId");

但是一旦我将请求链接更改为命令按钮,friedId = null?知道如何使用命令按钮传递值吗?

jsf datatable
2个回答
2
投票
将数据表值包装在

DataModel

 中。然后通过DataModel#getRowData()
即可获取选中的行。

public class Bean { private List<Friend> friends; private DataModel friendsModel; public Bean () { friends = getItSomehow(); friendsModel = new ListDataModel(friends); } public void addAsFriend() { Friend selectedFriend = (Friend) friendsModel.getRowData(); // ... } }

<h:dataTable value="#{bean.friendsModel}" var="friend"> <h:column> <h:commandButton value="Add as friend" action="#{bean.addAsFriend}" /> </h:column> </h:dataTable>

应该与 IBM Faces Client Framework(那些

hx:

 组件)一起良好地工作。


0
投票
不是我想要的,所以我的问题是颤振

© www.soinside.com 2019 - 2024. All rights reserved.