Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/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
Jsf 未调用Primefaces commandButton操作属性_Jsf_Jakarta Ee_Primefaces - Fatal编程技术网

Jsf 未调用Primefaces commandButton操作属性

Jsf 未调用Primefaces commandButton操作属性,jsf,jakarta-ee,primefaces,Jsf,Jakarta Ee,Primefaces,我正在使用primefaces创建一个JSF应用程序。基本上我有这个观点。有一个选项卡视图,每个选项卡包含一个命令按钮和一个手风琴面板(另一种选项卡视图)。在其他元素中,手风琴面板的选项卡包含每个命令按钮。我的问题是,第一个命令按钮(在1级选项卡下)在单击时正确调用操作方法,而第二个按钮(在2级选项卡下)则不正确。我应该说tabView和accordionPanel都工作正常,因为它们显示的是应该显示的信息 我发布了我的观点的简化版本,以便您可以看到正在发生的事情 我做错了什么?感谢此构造要

我正在使用primefaces创建一个JSF应用程序。基本上我有这个观点。有一个选项卡视图,每个选项卡包含一个命令按钮和一个手风琴面板(另一种选项卡视图)。在其他元素中,手风琴面板的选项卡包含每个命令按钮。我的问题是,第一个命令按钮(在1级选项卡下)在单击时正确调用操作方法,而第二个按钮(在2级选项卡下)则不正确。我应该说tabView和accordionPanel都工作正常,因为它们显示的是应该显示的信息

我发布了我的观点的简化版本,以便您可以看到正在发生的事情



我做错了什么?感谢此构造要求
值属性中的EL表达式在处理表单提交时返回与初始显示时完全相同的

如果bean是请求范围的,并且/或者该值在幕后依赖于基于请求的参数或变量,因此它在每个请求上返回不同的值,那么它将失败,因为JSF无法找到被调用的按钮。为了修复它,需要将bean放在视图范围中,getter方法不应该包含任何业务逻辑,或者任何基于请求的参数或变量应该保留在后续请求中

另见:
  • -第4点

请检查@BalusC的第3点和第4点,无论何时呈现页面,我都会收到此消息。我从一开始就有了它,但它并没有产生问题
表单组件需要在其祖先中有一个UIForm。建议:在
中附上必要的组件此特定问题针对较旧的Mojarra版本(2.0.5或IIRC之前的版本),升级应能解决此问题。但这确实可能不是你问题的原因,因为你已经有了表格。换句话说,您没有看到第3点中提到的任何验证错误?也不是那些没有显示并因此作为“未处理的消息”记录到服务器日志中的消息吗?@BalusC No,我检查过了,没有类似的消息。您能告诉我是否有任何方法可以通过JavaScript在onclick属性的action属性中执行我正在执行的操作吗?谢谢我尝试了这个
onclick=“#{讲师控制器.settemporation(讲师)};createCriterionDialog.show()
,当按钮被点击时,该方法不会被调用,而是当按钮所属的选项卡被激活时。但是,这对我来说不是问题,尽管我不明白为什么。无论如何,谢谢你的帮助@BalusC