Below are the files I have.
manageStaff.xhtml
<h:dataTable var="c" value="#{newStaffMemberServiceBean.newStaffMemberDataBeanList}"
styleClass="order-table"
headerClass="order-table-header"
rowClasses="order-table-odd-row,order-table-even-row"
border="1" id="staffListDataTable" width="100%">
<h:column>
<f:facet name="header">
Staff Member Name
</f:facet>
<h:form>
<h:commandLink action="viewStaffMemberProfileData" value="#{c.firstName}">
<f:setPropertyActionListener target="#{newStaffMemberServiceBean.userId}" value="XXXYYYZZZZ"/>
</h:commandLink>
</h:form>
</h:column>
</h:dataTable>
viewStaffMemberProfileData.xhtml
My Name is -<h:outputText value="#{newStaffMemberServiceBean.userId}" />-
NewStaffMemberServiceBean.java
@ManagedBean(name = "newStaffMemberServiceBean")
//@RequestScoped
@ViewScoped
//@SessionScoped
public class NewStaffMemberServiceBean {
private String userId;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
In output what I get is in below format
Staff Member Name
++++++++++++++++++
Name 1
Name 2
Name 3
.
.
.
.
On Clicking Name 1
, I get re-directed to viewStaffMemberProfileData.xhtml
.
BUT problems are
To get re-directed on
viewStaffMemberProfileData.xhtml
page, I have to click link (Name 1, Name 2, etc) twice :(When I get re-directed to
viewStaffMemberProfileData.xhtml
I only see output asMy Name is --
What I want is
My Name is -XXXYYYZZZZ-
.
Suggest me where I am going wrong.
NOTE
I have all beans in ViewScope
.
Update 1
@prajeeshkumar
Getter setter are as below
public List<NewStaffMemberDataBean> getNewStaffMemberDataBeanList() {
return newStaffMemberDataBeanList;
}
public void setNewStaffMemberDataBeanList(List<NewStaffMemberDataBean> newStaffMemberDataBeanList) {
this.newStaffMemberDataBeanList = newStaffMemberDataBeanList;
}