Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
richfaces表中的JSF和richfaces:h:commandlink工作不正常_Jsf_Richfaces - Fatal编程技术网

richfaces表中的JSF和richfaces:h:commandlink工作不正常

richfaces表中的JSF和richfaces:h:commandlink工作不正常,jsf,richfaces,Jsf,Richfaces,在rich:dataTable中使用h:commandlink(或commandbutton)时,指定的操作永远不会被调用,相应的托管bean也不会被实例化(无论是在请求范围还是会话范围内)。。。 相反,将执行相同的请求。。(页面重新加载)。。 我在论坛上看到过类似的问题,但实际上并不是我遇到的问题。。 h:commandlink/按钮在rich:datatable之外正常工作 有人有什么建议吗 以下是一段代码片段: bean显然是请求作用域,并且在bean的构造过程中(至少在后续请求的应用

在rich:dataTable中使用h:commandlink(或commandbutton)时,指定的操作永远不会被调用,相应的托管bean也不会被实例化(无论是在请求范围还是会话范围内)。。。 相反,将执行相同的请求。。(页面重新加载)。。 我在论坛上看到过类似的问题,但实际上并不是我遇到的问题。。 h:commandlink/按钮在rich:datatable之外正常工作

有人有什么建议吗

以下是一段代码片段:


bean显然是请求作用域,并且在bean的构造过程中(至少在后续请求的应用请求值阶段)没有加载数据模型。您需要为后续请求保留相同的数据模型,否则JSF无法找到与单击的链接关联的行项目。最直接的方法是在bean的构造函数或
@PostConstruct
方法中加载数据模型

一个快速修复/测试是将bean放入会话范围。然后,数据模型将保存在会话范围中,并在后续请求中可用。但这对用户体验的影响更大(例如,在同一会话中,在不同浏览器窗口/选项卡中打开同一页面时会出现意外结果)。如果您已经使用了JSF2.0(因为您使用的是RichFaces,所以可能不是这种情况),那么新的视图范围就是解决方案

相关问题:
  • -包含该行为所有可能原因的概述

如果您使用的是RichFaces 3.0.0至3.3.3,请使用标签a4j:keepAlive。它甚至可以在请求范围内工作

    <h:commandLink id="commLink" actionListener="#{hBean.test}" action="#{hBean.viewTranslation}">
        <h:outputText value="#{trans.translationName}"/>   
    </h:commandLink>
</rich:column>