0

既存の JSF 2-Websphere アプリケーションで CDI をセットアップしたいと考えています。状態の保存に CDI Conversional スコープを使用しています。

WEB-INF に bean.xml を含め、クラスに注釈を含めましたが、それでも JSP ページ内の CDI Bean にアクセスできませんでした。これを行う方法についてサンプルを提供できる人はいますか?

4

3 に答える 3

1

WebSphere 8.5.5 では問題なく動作します。クラスに注釈を付ける必要があり@Named("yourName")、通常はスコープ関連の注釈を使用します。
次に、次のように EL を使用して、プレーンな jsp で Bean にアクセスできます。${yourName.property}

于 2014-08-26T18:52:02.883 に答える
1

Weldのホームページには次のように記載されています

サーブレット コンテナ (Tomcat/Jetty) または Java EE 5 アプリケーション サーバーの場合:

<dependency>
    <groupId>org.jboss.weld.servlet</groupId>
    <artifactId>weld-servlet</artifactId>
    <version>1.1.10.Final</version>
</dependency>

18.3 . サーブレット コンテナー (Tomcat や Jetty など)からも次のように言われました。

JSR-299 はサーブレット環境のサポートを必要としませんが、Weld は Tomcat 6.0 や Jetty 6.1 などのサーブレット コンテナーで使用できます。

Weld can be used as a library in an web application that is deployed to a Servlet container. You should place weld-servlet.jar within the WEB-INF/lib directory relative to the web root. weld-servlet.jar is an "uber-jar", meaning it bundles all the bits of Weld and CDI required for running in a Servlet container, for your convenience. Alternatively, you can use its component jars. A list of transitive dependencies can be found in the META-INF/DEPENDENCIES.txt file inside the weld-servlet.jar artifact.

Firstly we also need to explicitly specify the servlet listener (used to boot Weld, and control its interaction with requests) in WEB-INF/web.xml in the web root:

<listener>
   <listener-class>org.jboss.weld.environment.servlet.Listener</listener-class>
</listener>

I hope this may help.

于 2013-04-09T09:02:39.210 に答える