每一行我都有一个用于编辑行的命令按钮。这个命令按钮的方法操作设置了一个托管bean属性来隐藏数据表并显示编辑表单。我通过将数据表封装在一个面板组中,将编辑表单封装在另一个面板中,并根据托管bean属性设置面板组的rendered属性来实现这一点。
托管bean是Viewscoped,我拥有的所有请求都是非ajax的。
当我点击第一个数据表页面的一行上的编辑命令按钮时,一切都正常
但是,如果我使用paginator链接移动到另一个数据表页面,然后在页面的任何一行单击编辑命令按钮,它都不起作用,因为Viewscoped bean再次创建(PostConstruct被触发(,甚至我可以看到单击的命令按钮的操作方法没有执行。
我认为这与分页器的ajax请求有关(我想(。
有人知道如何让它发挥作用吗?
问题出在rendered
属性上。看看这里。
解决问题的更好方法是制作一个可编辑的数据表,或者如果对象更复杂,则将编辑页面制作成一个对话框,然后用编辑按钮打开它。