Jsf h:richfaces数据表内的commandLink在按下浏览器后退按钮后工作不正常
在我在网上对这个问题做了一些调查之后,我仍然无法找到一个合适的解决方案。 我必须在这里使用的技术堆栈是jsf1.x、jbossseam 2.2.x和richfaces 3.3.x。因此,情况是:Jsf h:richfaces数据表内的commandLink在按下浏览器后退按钮后工作不正常,jsf,richfaces,seam,Jsf,Richfaces,Seam,在我在网上对这个问题做了一些调查之后,我仍然无法找到一个合适的解决方案。 我必须在这里使用的技术堆栈是jsf1.x、jbossseam 2.2.x和richfaces 3.3.x。因此,情况是: 用户界面 该页面包含两个主要部分,上面的部分为用户搜索结果提供一些条件,下面的部分为显示结果。 这里我使用richfaces.dataTable来填充结果。我们还提供了加载结果项详细信息的链接(h:commandLink)。当然,dataTable最初并没有使用h:panelGroup的rendered
<h:panelGroup rendered="#{results.size gt 0 and not showDetail}">
<rich:dataTable
id="results-table"
value="#{results}"
var="row"
rows="#{rowPerPage}"
styleClass="table"
rendered="#{not empty requests}">
......
<rich:column>
<f:facet name="header">
Action
</f:facet>
<h:commandLink value="DETAILS"
action="#{viewBean.showDetailContext(row)}"
styleClass="link">
</h:commandLink>
</rich:column>
......
</rich:dataTable>
</h:panelGroup>
进行一些搜索后,UI将如下所示:
因此,此时,用户可以单击“详细信息”链接并导航到详细信息视图,如:
现在的问题是,当我们单击“浏览器后退”按钮时,我们返回到上一个“查看结果”,如果用户单击其他项目的详细信息链接,则详细信息视图仍将显示屏幕截图中突出显示的上一个详细信息
非常感谢您的建议
@Scope(ScopeType.CONVERSATION)
@Name("result.view")
public class ResultView {
public void showDetailContext(T detailContext) throws Exception {
_detailContext = detailContext;
initListDetails();
setShowDetail(true);
}
protected void initListDetails() throws Exception {
//......
}
}