0

在我们之前的 Seam 2 项目中,我们有以下部分web.xml负责加载静态资源,例如 css 或 img:

  <servlet>
    <servlet-name>Seam Resource Servlet</servlet-name>
    <servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Seam Resource Servlet</servlet-name>
    <url-pattern>/seam/resource/*</url-pattern>
  </servlet-mapping>

使用 CDI + JSF2 时的替代品是什么?是否可以使用标准 Java EE 6 机制来完成,或者我们是否需要 CDI 扩展或任何其他附加库?

PS:该项目基于maven并部署在tomcat 7上,所以如果需要一些扩展,我会很高兴根据依赖关系。

4

1 回答 1

1

Seam 2 从未成为 Java EE 5 的一部分,因此在 Java EE 6 中没有“替代”的方式。您可能需要查看 Seam 3 或 Seam 2 的任何后续版本。

“静态资源”位于标准 servlet 容器中,已由容器的内置默认 servlet 完全自动且透明地处理。只需将文件直接放到公共 webcontent 文件夹中(您还可以在其中放置 JSP/Facelets 文件)。

然而,JSF2 有一个新的资源处理机制,它允许在组件/渲染器中使用等自动包含资源,但这已经被其本身和新的 JSF 2.0和组件@ResourceDependency考虑在内。然而,我不确定这是否与 Seam 2 所做的事情有关,我从未真正使用过 Seam。FacesServlet<h:head><h:body>

CDI 与这一切关系不大,它是一个 bean 管理 API,而不是静态资源管理 API。

于 2012-09-13T14:19:15.050 回答