Richfaces 中带注释的 ManagedBean?

发布于 2024-11-08 18:35:43 字数 290 浏览 0 评论 0原文

我是 richfaces 的新手,我想使用注释而不是 xml 配置来支持 bean 类 [就像 JSF 2.0 一样] 我正在使用 richfaces 4.0 并将所有必需的 jar 包含在我的构建路径中。但是当我尝试导入 javax.faces.bean.*; 时,出现 no package found 错误。如果我包含来自 mojarra 的核心 JSF2.0 jar,它可以正常编译,但是当导出为 war 文件时,tomcat v7 会引发错误,并且我的项目无法执行。

请提供任何帮助。

PS没有任何bean,该项目运行良好

I'm new to richfaces and I want to support a bean class using annotation instead of xml configuration [just like JSF 2.0] I'm using richfaces 4.0 and included all required jars in my build path. but when I tried to import javax.faces.bean.*; it through an no package found error. if I include the core JSF2.0 jar from mojarra it compiles fine but when expoted as an war file the tomcat v7 raising an error and my project fail to execute.

any help please.

P.S. without any beans, the project works well

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

独守阴晴ぅ圆缺 2024-11-15 18:35:43

如果我包含来自 mojarra 的核心 JSF2.0 jar,它可以正常编译

是的。 Tomcat 不附带任何现成的 JSF 库。 RichFaces4 也不附带任何特定的 JSF 实现。您需要在 /WEB-INF/lib 文件夹中拥有 jsf-api.jarjsf-impl.jar


但是当导出为 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>

if I include the core JSF2.0 jar from mojarra it compiles fine

That's right. Tomcat doesn't ship with any JSF libraries out the box. RichFaces4 also doesn't ship with any particular JSF implementation. You need to have jsf-api.jar and jsf-impl.jar in /WEB-INF/lib folder.


but when expoted as an war file the tomcat v7 raising an error and my project fail to execute.

You need to ensure that your /WEB-INF/faces-config.xml is declared conform JSF 2.0 spec.

<?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>

You also need to ensure that your /WEB-INF/web.xml is declared conform Servlet 3.0 spec or at least Servlet 2.5 spec.

<?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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文