2

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

4

1 に答える 1

1

これは、マネージド Bean を含む JAR が WAR の/WEB-INF/libフォルダーにある場合 (したがって、JAR が EAR のフォルダーにある場合ではありません/lib!)、および JAR が JSF 2.0 と互換性がある/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 アプリケーションに属性が設定され/WEB-INF/faces-config.xmlていないことを確認する必要があります。metadata-complete="true"

于 2012-12-25T12:54:31.640 に答える