论坛首页 Java版 企业应用

JSF命令控件<h:commandLink> action或者actionListener所绑定方法执行不到的原因总结

浏览 2364 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2007-08-08 关键字: JSF
很多JSF初学者遇到这样的问题,即:
控件的action或者actionLinstener绑定的backben的方法不执行.即:调试时打不到断点.
这种情况下,一般是由以下原因引起的:


1。JSF生命周期INVOKE APPLICATION 阶段之前的其他阶段发生了异常,导致INVOKE APPLICATION 阶段没有被JSF执行,那么一般是页面中输入控件所绑定的backbean 某些属性getter 或setter方法中出现了异常,在这些方法中打断点可以发现问题.

2.执行命令的控件不再form中,所以,网页没有提交数据过来,更不会执行命令控件的动作了!

3。绑定的方法形式不满足需要,这个一般在编译网页时会提示

4.一些名字写错了这样的低级错误.
   
最后更新时间:2007-07-20
还有一个比较低级的错误是,在inputText加了validation,而没有显示错误信息8
   
0 请登录后投票
最后更新时间:2007-07-20
goushijie 写道
还有一个比较低级的错误是,在inputText加了validation,而没有显示错误信息8


对,只要是在INVOKE APPLICATION阶段发生之前出的错误,都可以导致动作绑定的函数不被调用!
   
0 请登录后投票
最后更新时间:2007-11-07
我想问大家一个问题,我想动态生成菜单,用了richfaces的dropDownMenu,现在遇到一个问题,就是commandLink的setAction不能action到我导航的页面。
commandLink.setValue(typesName);
MethodBinding mb = application.createMethodBinding("#{interactionList.listInteractionByType}",null); commandLink.setAction(mb);
UIParameter parameter = (UIParameter)application.createComponent(UIParameter.COMPONENT_TYPE);       
parameter.setId("type_param_"+ k.toString());
parameter.setTransient(false);
parameter.setName("type");
parameter.setValue(typesName);

请大家 给指点一下!!谢谢
   
0 请登录后投票
论坛首页 Java版 企业应用

跳转论坛:
JavaEye推荐