在我们之前的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上,所以如果需要一些扩展,我会非常高兴依赖依赖。
答案 0 :(得分:1)
Seam 2从未成为Java EE 5的一部分,因此Java EE 6中没有“替换”的方法。您可能需要查看Seam 3或Seam 2所具有的任何后续内容。
“静态资源”位于标准servlet容器中,已由容器的内置缺省servlet完全自动且透明地处理。只需将文件直接放在公共webcontent文件夹中(您还可以在其中放置JSP / Facelets文件)。
然而,JSF2有一个新的资源处理机制,它允许在组件/渲染器中使用@ResourceDependency
等自动包含资源,但FacesServlet
本身和新的JSF 2.0已经考虑到了这一点。 <h:head>
和<h:body>
个组件。然而,我不确定这是否与Seam 2的相关,我从未真正使用过Seam。
CDI与此无关,它是一个bean管理API,而不是静态资源管理API。