Richfaces中带注释的ManagedBean?

时间:2011-05-18 20:34:56

标签: java jsf-2 richfaces

我是richfaces的新手,我想使用注释而不是xml配置支持bean类[就像JSF 2.0]我正在使用richfaces 4.0并在我的构建路径中包含所有必需的jar。但当我尝试import javax.faces.bean.*;通过无包发现错误。如果我从mojarra中包含核心JSF2.0 jar它编译得很好但是当作为war文件表示时,tomcat v7会引发错误并且我的项目无法执行。

请帮助。

P.S。没有任何豆子,项目运作良好

1 个答案:

答案 0 :(得分:0)

  

如果我从mojarra中包含核心JSF2.0 jar它编译得很好

没错。 Tomcat不提供任何JSF库。 RichFaces4也没有附带任何特定的JSF实现。您需要在jsf-api.jar文件夹中包含jsf-impl.jar/WEB-INF/lib


  

但是当作为war文件表示时,tomcat v7引发错误而我的项目无法执行。

您需要确保声明/WEB-INF/faces-config.xml符合JSF 2.0规范。

<?xml version="1.0" encoding="UTF-8"?>
<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
    version="2.0"
>
    <!-- Your config here (if any) -->
</faces-config>

您还需要确保您的/WEB-INF/web.xml声明符合Servlet 3.0规范或至少 Servlet 2.5规范。

<?xml version="1.0" encoding="UTF-8"?>
<web-app 
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0"
>
    <!-- Your config here (if any) -->
</web-app>