苏州阊胥路北大青鸟 北大青鸟苏州阊胥路标准化校区
  青鸟学院·西祠讨论版·联系我们  
全国免费电话:400-888-1050
 
首页 | 新闻动态 | 学校介绍 | 课程详解 | 师资力量 | 学习园地 | 就业广场 | 开发技术 | 校区招聘
  在线报名 在线留言  
   
您的位置:首页 - .NET技术  
JSF开发问题和解决  
2010-6-6  发布人:王蓓蓓  浏览次数::

JSF开发问题和解决

 1.<fsubview>里的<hcommandLink>action不执行

  很多时候<fsubview>是在包含页面的情况下被用到(例如包含一个导航页面),而被包含的页面里如果有非JSF标签(如<a>)的时候,必须额外使用<fverbatim>包含它才不会报错。问题是<fverbatim>包含的内容是不算在JSF标签的Component Tree里的,因此这里的<hcommandLink>action就不会被执行了。解决的办法是不要在<fverbatim>里用<hcommandLink>,即尽量全部使用JSF标签比较不容易出问题。

  2.还是在<fsubview>里,action属性的方法虽然执行了,但不能转到faces-config里定义的目标页面

  检查faces-config.xml<from-view-id>,如果页面被包含的话,则<from-view-id>可能应为"/*",而不是如"/navigatorbar.jspx"这样。

  3.结合EMF使用时,页面抛出找不到属性异常“Error getting property 'xxx' from bean of type XXXX”

  EMF生成的XXXImpl里的构造方法是protected修饰的,改为public即可。(注意修改@generated修饰,否则下次重新生成时会被覆盖回来)

  另(不仅限于EMF的情况):如果一个Bean里有两个同名但参数不同的方法,例如CustomergetRecords()和 getRecordsint year)这两个方法,则在JSF页面里用#{customer.value}会抛出同样的异常,我暂时还不确定是EL的问题还是JSF实现(我用的 trinidad)的问题,部分异常stack如下所示:

  严重: Servlet.service() for servlet faces threw exception

  javax.faces.el.PropertyNotFoundException: Error getting

  property 'xxx' from bean of type XXXX

  at com.sun.faces.el.PropertyResolverImpl.getValue

  (PropertyResolverImpl.java:107)

  at com.sun.faces.el.impl.ArraySuffix.evaluate

  (ArraySuffix.java:167)

  at com.sun.faces.el.impl.ComplexValue.evaluate

  (ComplexValue.java:151)

 
上一篇:Java开发最容易犯的几种错误
下一篇:高分学生首选学校 其他考生专业为先
 
设为首页 | 加入收藏 | 联系我们 | 联系站长 | 友情链接
报名咨询:0512-65566661 65566662   备案许可证号:苏ICP备09076008号
地址:苏州市阊胥路483号创元科技园6号楼1层(干将西路友通数码港向北100米)
交通路线:6、7、7路区间、64、70、88、262、300、303、304、307、318、332、333、333路龙池专线、
522、800、921、932、949.(小日晖桥北站)
 
在线客服
在线客服系统