作者gmoz ( This can't do that. )
看板java
标题[虫?] JSF commandButton不断触发ViewScoped PostConstruct
时间Wed May 28 16:33:30 2014
问号应该要拿掉,的确是虫 XD
刚刚遇到,弄了好一阵子也解决掉了
主要是在你的bean生命周期为ViewScoped时,
你想要在你的页面上有颗commandButton,按下去可以call你bean里面的method
这当然没问题,放颗按钮按呀按的就好
但其实这时候你的PostConstruct也会跟着不断的被触发,
如果你的PostConstruct是从GET里面拿参数,这时就会Null Exception了
@PostConstruct
public void init(){
System.out.println("fired 打我呀笨蛋");
}
这也证实是JSF的bug了,请将Mojarra 升级为2.1.8之後的版本
将你平台moudules的 javax.faces.jar 置换掉即可
--
PS.上次在glassfish 3.1.2也遇到一个几乎无预警让CPU冲高的bug,这个比较可怕 冏
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.163.11.241
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/java/M.1401266013.A.9C9.html
1F:→ luoqr:什麽情境会用到viewscoped+postconstruct? :P 05/28 23:25
2F:→ gmoz:这里是一般网页用URL带参数连来我的JSF网页@@ 求更好做法 05/29 11:09
3F:→ luoqr:FacesContext.getExternalContext.getRequestParameterMap? 05/29 12:40
4F:→ gmoz:因为我把这个放在PostConstruct里面 按钮触发就NULL EXCEPTIO 05/29 13:51
5F:→ gmoz:N了 QAQ... 05/29 16:06