2012-07-23 40 views
0

我有一个jsp页面,它具有动态包含。每个动态包括调用它自己的后台bean,并且可以很好地处理dataTables和从后台bean读取数据,但是我正面临命令按钮的问题。当我点击命令按钮时,控件不会被传送到bean,它不会导航到下一页,因为它不会触及onclick方法。jsf命令按钮不工作在include Jsp

任何建议都会有帮助。

+0

页面上有的标签吗?可能会有停止方法调用的验证错误。 – 2012-07-23 14:25:08

+0

在包含页面的顶部没有标记,但在父JSP的顶部有一个标记。 – ylnsagar 2012-07-23 14:50:15

回答

1

您需要确保表单提交期间<jsp:include page>后面的动态bean属性的值与显示页面时的表单完全相同。因此,如果从请求范围bean获得,那么您需要确保该属性在其(后)构建期间也可以基于某个请求参数设置,您可以将其设置为托管属性或从ExternalContext#getRequestParameterMap()获取。另一种方法是将bean放入会话作用域中,但当最终用户在同一会话的多个浏览器窗口/选项卡中打开相同的页面时,这种方式效果不佳。

+0

感谢Bauke的回复,但我不明白你的第二点是应该在之外。 – ylnsagar 2012-07-24 15:26:27

+0

这在第二个“另请参见”问题链接中进行了解释。如果你需要''在''内,那么应用在该问题的答案中发布的解决方案。或者使用PrimeFaces 3.x,他们已经在他们自己的核心ajax引擎中解决了这个问题。 – BalusC 2012-07-24 15:28:55

+0

jsp页面包含,在此选项卡式面板中,每个选项卡都是包含页面。所以当我查看页面的源代码时,它会在中创建一个自动窗体。我确保每个页面都保存在中。所以你仍然希望我使用上述方法,即使对于此选项卡面板 – ylnsagar 2012-07-24 15:38:11