

**【事象】**  
画面から番号と氏名を入力し、その入力内容をコンソールに表示する、というプログラムを書いているのですが、実行すると、RuntimeExceptionになり、画面が開けません。

**【試したこと】**  
バッキングビーン(MeiboBean.java)の@RequestScopedを削除して実行してみたら、画面を表示するところまではできました。なので、おそらく@RequestScopedアノテーションを書いたことが原因だと思うのですが、書き方が間違っているとは思えないです。  
このサイトに書いてある、importを使わない方法は、試しましたが、それでもだめでした。

**【環境】**

  * ブラウザ：IE
  * 統合開発環境：NetBeans
  * サーバランタイム：glassfish

**【ソースコード】**

[code]

    package bean;
    
    import javax.enterprise.context.RequestScoped;
    import javax.inject.Named;
    
    
    @Named
    @RequestScoped
    public class MeiboBean{
        private Integer number;
        private String name;
    
        public void toConsole(){
            System.out.println("number = "+this.number+ "/ name=" +this.name);
        }
    
        public Integer getNumber() {
            return number;
        }
    
        public void setNumber(Integer number) {
            this.number = number;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }    
    }
    
    
    <?xml version='1.0' encoding='UTF-8' ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:h="http://xmlns.jcp.org/jsf/html">
        <h:head>
            <title>Sample01</title>
        </h:head>
        <h:body>
            <h2>名簿データの作成</h2>
            <h:form>
                番号：<h:inputText value="#{meiboBean.number}" /><br/>
                氏名：<h:inputText value="#{meiboBean.name}" /><br/>
                <h:commandButton value="送信"  actionListener = "#{meiboBean.toConsole()}"/>
            </h:form>
    
        </h:body>
    </html>
    
    
    java.lang.RuntimeException: 
        at bean.MeiboBean.<init>(MeiboBean.java:1)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.jboss.weld.injection.ConstructorInjectionPoint.newInstance(ConstructorInjectionPoint.java:119)
        at org.jboss.weld.injection.ConstructorInjectionPoint.invokeAroundConstructCallbacks(ConstructorInjectionPoint.java:92)
        at org.jboss.weld.injection.ConstructorInjectionPoint.newInstance(ConstructorInjectionPoint.java:78)
        at org.jboss.weld.injection.producer.AbstractInstantiator.newInstance(AbstractInstantiator.java:28)
        at org.jboss.weld.injection.producer.BasicInjectionTarget.produce(BasicInjectionTarget.java:112)
        at org.jboss.weld.injection.producer.BeanInjectionTarget.produce(BeanInjectionTarget.java:180)
        at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:158)
        at org.jboss.weld.contexts.AbstractContext.get(AbstractContext.java:96)
        at org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.get(ContextualInstanceStrategy.java:100)
        at org.jboss.weld.bean.ContextualInstanceStrategy$CachingContextualInstanceStrategy.get(ContextualInstanceStrategy.java:177)
        at org.jboss.weld.bean.ContextualInstance.get(ContextualInstance.java:50)
        at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:676)
        at org.jboss.weld.module.web.el.AbstractWeldELResolver.lookup(AbstractWeldELResolver.java:107)
        at org.jboss.weld.module.web.el.AbstractWeldELResolver.getValue(AbstractWeldELResolver.java:90)
        at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:147)
        at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:156)
        at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:184)
        at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:92)
        at com.sun.el.parser.AstValue.getBase(AstValue.java:126)
        at com.sun.el.parser.AstValue.getValue(AstValue.java:175)
    
[/code]


CC BY-SA 4.0
2020-01-26T02:41:01.190
62553
2020-09-16T15:22:29.743
2020-01-26T03:41:29.653
32986
37591
question
java java-ee annotations
@RequestScopedをつけるとRuntime Exceptionになる。


バージョンはいくつですか？  
古い版だと動きましたが、新しい版だと動作が不安定でした。

OK case)  
NetBeans 8.02(Java EE7)  
JDK 1.7  
JSF 2.2  
Glassfish 4.1

NG case) 同様に上から  
12(EE7 or EE8)  
JDK 1.7 , 1.8 , 11  
JSF 2.2, 2.3  
Glassfish 5.1

※ちなみに、RequestScopeを書かなければ、bean(CDI)と連携できません。  
これはページ表示時にInjectionするとき、インスタンス生成が失敗しているというメッセージです。


CC BY-SA 4.0
2020-09-16T15:22:29.743
70455
2020-09-16T15:22:29.743
23381
62553
answer