我一直在开发一个 Web 应用程序,该应用程序在 jar 中加载一些 xhtml 文件。有了这个,我没有任何问题。
我在每个 jar 中放置了 faces-config.xml,放置了相应的 xhtml 文件,并且一切都与在类路径中进行搜索的 customResourceResolver 一起完美地工作。
当我将 Spring 添加到方程中时,问题就出现了,如下例所示:
<managed-bean>
<managed-bean-name>entityController</managed-bean-name>
<managed-bean-class>com.test.EntityController</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>client</property-name>
<value>#{client}</value>
</managed-property>
</managed-bean>
其中client是Spring上下文中的一个实体。
我已经为 Spring 配置了相应的监听器和 web.xml,并且对于 WAR 中包含的所有托管 bean,注入(inject)正在工作。
启动时没有抛出任何错误,并且所有 Spring bean 都已正确加载。但是,当我调用 jar 中包含的托管 bean 的方法(该方法必须访问托管属性)时,我发现该属性未注入(inject)。
我错过了什么吗?
如果需要更多信息,请告诉我。
提前非常感谢!
最佳答案
能够使用 JSF 注释而不是 faces-config.xml 中的配置来解决它。
所以我的托管 bean 最终非常像这个:
@ManagedBean(name="entityController")
@SessionScoped
public class EntityController {
@ManagedProperty("#{client}")
private Client client;
谢谢大家!
关于java - JSF/Primefaces - JAR 和 Spring 中的 XHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17433230/