十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本篇文章为大家展示了JSF开发问题和解决是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
公司主营业务:成都网站建设、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出五指山免费做网站回馈大家。
1.在
很多时候
2.还是在
检查faces-config.xml里
3.结合EMF使用时,页面抛出找不到属性异常“Error getting property 'xxx' from bean of type XXXX”
EMF生成的XXXImpl里的构造方法是protected修饰的,改为public即可。(注意修改@generated修饰,否则下次重新生成时会被覆盖回来)
另(不仅限于EMF的情况):如果一个Bean里有两个同名但参数不同的方法,例如Customer有getRecords()和 getRecords(int 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 XXXXat 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)at com.sun.faces.el.impl.ExpressionEvaluatorImpl.
evaluate(ExpressionEvaluatorImpl.java:243)at com.sun.faces.el.ValueBindingImpl.getValue
(ValueBindingImpl.java:173)at com.sun.faces.el.ValueBindingImpl.getValue
(ValueBindingImpl.java:154)at org.apache.myfaces.trinidad.bean.FacesBeanImpl.
getProperty(FacesBeanImpl.java:66)at org.apache.myfaces.trinidad.component.UIXComponentBase.
getProperty(UIXComponentBase.java:1100)at org.apache.myfaces.trinidad.component.UIXIterator.
getValue(UIXIterator.java:415)at org.apache.myfaces.trinidad.component.UIXCollection
._flushCachedModel(UIXCollection.java:1127)at org.apache.myfaces.trinidad.component.UIXCollection.
encodeBegin(UIXCollection.java:511)at org.apache.myfaces.trinidadinternal.uinode.UIComponent
UINode._renderComponent(UIComponentUINode.java:317)at org.apache.myfaces.trinidadinternal.uinode.UIComponent
UINode.render(UIComponentUINode.java:279)
解决的办法是把带参数的那个方法改名。
4、从session里删除一个bean
ValueBinding binding = FacesContext.getCurrentInstance()
.getApplication().createValueBinding("#{MyBean}");binding.setValue(context, null);
上述内容就是JSF开发问题和解决是怎样的,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。