2012-05-10 18 views
0

私はBeanのアノテーションに奇妙な問題を引き起こしました。JSF 2.0でマネージドBeanアノテーションが機能しない

いるindex.xhtml内容:

<h:outputText value="#{ejb.helloWorld}" />

Ejb.java内容:私は、Beanメソッドを呼び出すことができるはずの上に私たちが見たものから、

package bean; 

import java.io.Serializable; 
import javax.faces.bean.ManagedBean; 
import javax.faces.bean.SessionScoped; 

    @ManagedBean(name="ejb") 
    @SessionScoped 
    public class Ejb implements Serializable 
    { 
     public String getHelloWorld() 
     { 
      return "Hello World"; 
     } 
    } 

...しかし、私はそれが動作しません私は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"> 

      <managed-bean> 
       <managed-bean-name>ejb</managed-bean-name> 
       <managed-bean-class>bean.Ejb</managed-bean-class> 
       <managed-bean-scope>session</managed-bean-scope> 
      </managed-bean> 
</faces-config> 

質問

  1. 私はこのような状況に遭遇したのはなぜ?
  2. この問題を解決するにはどうすればよいですか?

私が使用しています:

  • (LIBにインポート)JSF 2.0
  • JBoss Server 4.2
+0

JSF 2.0の場合は、JEE6認定のJBoss AS7を使用する必要があります。 – CoolBeans

答えて

0

を私の野生の推測では、JBoss 4.2にデフォルトでバンドルされたJSF 1.2が使用されていることである(JBossのJSFバージョンを気にしないかもしれません)。結果として、注釈は無視され、faces-config.xmlファイルが使用されます。

here(Googleのキャッシュページ)の設定を使用してください。

関連する問題