2

Javaコードが必要なjspページがあります。

jsp 内のこの Java コードには、サービス クラスが必要です。

今、私のサービスクラスはJavaがSpring DIとDAOを使用して作成され、Springを使用して他のものがサービスクラスに注入されます。

しかし、jsp で使用したい場合、jsp 内でサービスのオブジェクトを提供するように spring にどのように依頼すればよいですか?

JSP -> Java コード -> サービス -> DAO

フレームワークとして struts2 と spring DI を使用しています。

4

2 に答える 2

3

Spring 管理のアプリケーション コンテキスト対応のクラスを作成できます。このクラスは、コードのどこからでも静的メソッドを介して Spring Bean を提供します。

@Service
public class SpringBeansProvider implements ApplicationContextAware {

    static private ApplicationContext applicationContext;

    public static <T> T getBean(String beanName, Class<T> type) {
        return applicationContext.getBean(beanName, type);
    }

    @Override
    public void setApplicationContext(ApplicationContext context) {
        applicationContext = context;
    }

}

コードのどこからでも、 を使用しますSpringBeansProvider.getBean("myBean", MyBean.class)。はい、これは Bean インジェクションの概念を打ち破り、静的メソッドと非静的メソッドの使用を混同しますが、そのような種類のタスクは常に不公平を引き起こします。

于 2012-04-09T12:40:27.343 に答える
0

JSPページに挿入しません。アクションクラスに注入し、通常のS2メカニズムを使用してアクセスします。

于 2012-04-09T12:44:27.470 に答える