2016-05-31 10 views
0

JSPからSpring Beanを取得する際に問題があります。私は、Spring Beanは、アノテーションを使用して構成されている:JSPでAnnotated Spring Beanを取得

@Configuration 
public class DefaultServiceConfiguration extends AbstractSpringConfiguration { 

    @Bean 
    public ExService exService() { 
     ExServiceImpl service = new ExServiceImpl(); 
     return service; 
    } 
} 

そしてExServiceImplは以下の通りです:

public ExServiceImpl implements ExService { 
    @Override 
    public String getApprove(Integer x) { 
     // ..... 
     return approve; 
    } 
} 

、私はJSP内のBeanメソッドをacccessたい:

<c:set var="clientApprove" scope="request" value="${ExService .getApprove(1)}"/> 

しかし、それは動作していません。

+0

あなたはそれを望んでいません。ビューからBeanにアクセスしないでください。そのために適切なMVCを使用し、正しい方法を学びます。 –

+0

そのBeanはSpringコンテキストに存在し、ページコンテキストでは検索できません。ところで、@ M.Deinumが何を言ったかを考えてみましょう。 –

+0

こんにちは@Deinum、はい私はそれを理解しています。しかし、コントローラに変更を加えるためのアクセス権がありません。コントローラをオーバーライドして変更を加える必要があります。これは、コントローラクラスがライブラリに入っているので難しくなります。私はjspでそれにアクセスする方法があれば感謝しています。 – Dev

答えて

-1

私たちは何がやりたいことは、すべての良いデザインではない、とあなたはそれを避けなければなら豆のサービス

@Service 
public ExServiceImpl implements ExService { 
} 
+0

無関係。彼は 'JavaConfig'を使っているので、' @Service'は必要ありません。 –

0

を作成するためにExServiceImplクラス上@Serviceアノテーションを追加すべきだと思います。

しかし、私は、これはあなたを助けると信じて:

@Bean(scope=DefaultScopes.REQUEST, name="myBean") 
public ExService exService() { 
    ExServiceImpl service = new ExServiceImpl(); 
    return service; 
} 

をしかし、その後Beanがシングルトンではありません。

関連する問題