【发布时间】:2012-03-12 06:57:05
【问题描述】:
以下是我拥有的文件。
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;
}
在输出中我得到的格式如下
Staff Member Name
++++++++++++++++++
Name 1
Name 2
Name 3
.
.
.
.
点击Name 1,我会被重定向到viewStaffMemberProfileData.xhtml。
但是问题是
要在
viewStaffMemberProfileData.xhtml页面上重新定向,我必须单击链接(名称 1、名称 2 等)两次 :(-
当我被重定向到
viewStaffMemberProfileData.xhtml时,我只看到输出为My Name is --我想要的是
My Name is -XXXYYYZZZZ-。
建议我哪里出错了。
注意
我在 ViewScope 中拥有所有 bean。
更新 1
@prajeeshkumar
Getter setter 如下
public List<NewStaffMemberDataBean> getNewStaffMemberDataBeanList() {
return newStaffMemberDataBeanList;
}
public void setNewStaffMemberDataBeanList(List<NewStaffMemberDataBean> newStaffMemberDataBeanList) {
this.newStaffMemberDataBeanList = newStaffMemberDataBeanList;
}
【问题讨论】:
-
属性
newStaffMemberDataBeanList的getter/setter是什么? -
@prajeeshkumar : READ AGAIN 他们不是同一个问题。看看我列出的两个问题。现在我可以使用
ViewScope重新定向到新页面。 -
@prajeeshkumar : 对于 getter setter,请参阅 Update 1
-
将 id 放入会话范围不是您的选择吗?
标签: java jsf jsf-2 datatable javabeans