richfaces表中的JSF和richfaces:h:commandlink工作不正常
在rich:dataTable中使用h:commandlink(或commandbutton)时,指定的操作永远不会被调用,相应的托管bean也不会被实例化(无论是在请求范围还是会话范围内)。。。 相反,将执行相同的请求。。(页面重新加载)。。 我在论坛上看到过类似的问题,但实际上并不是我遇到的问题。。 h:commandlink/按钮在rich:datatable之外正常工作 有人有什么建议吗 以下是一段代码片段:richfaces表中的JSF和richfaces:h:commandlink工作不正常,jsf,richfaces,Jsf,Richfaces,在rich:dataTable中使用h:commandlink(或commandbutton)时,指定的操作永远不会被调用,相应的托管bean也不会被实例化(无论是在请求范围还是会话范围内)。。。 相反,将执行相同的请求。。(页面重新加载)。。 我在论坛上看到过类似的问题,但实际上并不是我遇到的问题。。 h:commandlink/按钮在rich:datatable之外正常工作 有人有什么建议吗 以下是一段代码片段: bean显然是请求作用域,并且在bean的构造过程中(至少在后续请求的应用
bean显然是请求作用域,并且在bean的构造过程中(至少在后续请求的应用请求值阶段)没有加载数据模型。您需要为后续请求保留相同的数据模型,否则JSF无法找到与单击的链接关联的行项目。最直接的方法是在bean的构造函数或
@PostConstruct
方法中加载数据模型
一个快速修复/测试是将bean放入会话范围。然后,数据模型将保存在会话范围中,并在后续请求中可用。但这对用户体验的影响更大(例如,在同一会话中,在不同浏览器窗口/选项卡中打开同一页面时会出现意外结果)。如果您已经使用了JSF2.0(因为您使用的是RichFaces,所以可能不是这种情况),那么新的视图范围就是解决方案
相关问题:
- -包含该行为所有可能原因的概述
<h:commandLink id="commLink" actionListener="#{hBean.test}" action="#{hBean.viewTranslation}">
<h:outputText value="#{trans.translationName}"/>
</h:commandLink>
</rich:column>