如何将war文件中的JSF页面连接到Enterprise Application中的jar文件中的托管bean

时间:2012-12-25 08:20:13

标签: jsf netbeans

我的JSF Java Enterprise应用程序无法访问支持bean;错误信息是 -

/master/currency/addCurrency.xhtml @19,94 value="#{addCurrencyController.code}": Target Unreachable, identifier 'addCurrencyController' resolved to null

我在此处扫描过上一个问题,解决方案(问题#7663818)是在jar文件的META-INF文件夹中有一个空白的faces-config.xml。在这种情况下,jar文件是war文件的一部分。我无法使它工作,因为我的xhtml处于战争状态,AddCurrencyController请求范围的托管bean在jar中,并且都打包在耳中。

我的application.xml是Maven生成的,如下所示。

<?xml version="1.0" encoding="UTF-8"?>
<application 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/application_6.xsd" version="6">
  <display-name>ruwi-app</display-name>
  <module>
    <web>
      <web-uri>ruwi-web-1.0.war</web-uri>
      <context-root>/ruwi</context-root>
    </web>
  </module>
  <module>
    <ejb>ruwi-ejb-1.0.jar</ejb>
  </module>
  <library-directory>lib</library-directory>
</application>

我正在使用Netbeans 7.3 Beta 2 IDE,服务器是捆绑的GlassFish。

由于

- MH

1 个答案:

答案 0 :(得分:1)

仅当包含托管bean的JAR位于WAR的/WEB-INF/lib文件夹中时才有效(因此当JAR位于EAR的/lib时没有!)并且JAR具有JSF 2.0兼容性{{ 1}}(因此不是空白的!)

/META-INF/faces-config.xml

您还应该确保您的网络应用<?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"> </faces-config> 没有设置/WEB-INF/faces-config.xml属性。