今天用Eclipse创建了一个JSF的项目,同时用到MyFaces,和Facelet。因此创建项目后,加载了对应的JAR文件。做了一些简单的业务操作。无论我怎么操作,都不能触发Action的事件,ActionListener也不起作用,同时,设置默认的一下验证,也是不能起作用的。但是后台不会有任何异常。
最后,我把同样的需要运行的文件,放到另外一个可以使用JSF项目中,运行正常。我把问题锁定到了项目,怀疑是否JAR文件有冲突。最后,发现用IDE创建JSF项目的时候,会自动加载JSF的jar文件到LIB包中,而我后来手工添加了MyFaces相关的jar包到LIB中,因此产生了冲突,我把jsf.jar文件删除后,运行正常。使用MyFaces的时候,用到的是myfaces-api.jar.而不用到jsf.jar