问题:

dataTable column 中有一个 <h:commandButton action=”#{detailBean.view(1)}” value=”detail” />,点了没有调用detailBean.view方法。但是在dataTable 之外放一个同样的button 是可以用的。

 

 

研究:

发现跟dataTable lazy=true 有关,简单的dataTable 是正常的。

这是正常的,点btn 会跳到详情

改用 lazy=true 后就不正常了

也不能改成lazy=false啊,数据量太大不能一次加载完

 

解决:

最粗暴的办法:把bean 设置为 @SessionScoped

这样submit 后能恢复view tree,从而调用button.action

 

 

发表评论

电子邮件地址不会被公开。