我正在使用具有内置 jsf 实现 Mojarra 的 Tomcat-7.0.33。是吗?
我想迁移到 Apache MyFaces。 为了实现这一目标,我做了什么:
我已经从/WEB-INF/lib/中删除
- jsf-api-2.1.7
- jsf-impl-2.1.7
添加到/WEB-INF/lib/:
- myfaces-api-2.1.10
- myfaces-impl-2.1.10
- 加上 5 个 apache commons-jars
所以我的/lib-folder:
- commons-beanutils-1.8.3
- commons-codec-1.3
- commons-collections-3.2
- commons-digester-1.8
- commons-logging-1.1.1
- gson-2.2.2
- jSTL-1.2
- myfaces-api-2.1.10
- myfaces-impl-2.1.10
- prettyfaces-jsf2-3.3.3
- primefaces-3.4
我正在使用 Eclipse 4.2 (Juno)。 我已经清理了 Tomcat-Server。
当我请求我的一个页面时,一切看起来都很好(甚至是源代码)。 但是我的 Managed-Beans 不工作。似乎 JSF 没有注册/找到它们。
我想我不需要在这里张贴我的脸或 bean ,因为使用 mojarra 效果很好。
最佳答案
MyFaces 与自身的另一个实例冲突。 myfaces-bundle.jar
已经包含 API 和 impl。您需要包含其中一个
myfaces-api.jar
myfaces-impl.jar
或
myfaces-bundle.jar
但不是两者都是。
关于eclipse - 更改了 Tomcat 中的 JSF 实现。从 Mojarra 到 MyFaces。托管 Bean 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14424326/