【问题标题】:annotated ManagedBean in Richfaces?Richfaces 中带注释的 ManagedBean?
【发布时间】:2011-05-18 20:34:55
【问题描述】:

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

请帮忙。

附:没有任何 bean,项目运行良好

【问题讨论】:

  • tomcat v7 出现错误,我的项目无法执行。究竟是哪个错误?

标签: java jsf-2 richfaces


【解决方案1】:

如果我包含来自 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>

【讨论】:

  • 不客气。将来你应该真正包括你得到的错误。它们不仅用于装饰,还可以说明问题的原因。如果您只是未能理解错误,您应该将其发布在您的问题中,以便我们可以用外行的方式为您解释。您知道,一旦您了解了错误及其原因,解决方案就应该完全不言自明。
猜你喜欢
  • 1970-01-01
  • 2017-10-23
  • 2011-04-12
  • 2013-02-28
  • 2011-02-12
  • 1970-01-01
  • 2019-09-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多