2016-05-31 73 views
0

我在從JSP獲取Spring bean時遇到了問題。我有使用註釋一個Spring bean配置:在jsp中獲取註釋的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; 
    } 
} 

現在,我想acccess在JSP豆方法:

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

但它不工作。

+0

你不想那樣。不要從您的視圖訪問豆。使用適當的MVC,學習正確的方法。 –

+0

該bean存在於Spring上下文中,在您的頁面上下文中不可搜索。順便考慮@ M.Deinum所說的話。 –

+0

嗨@ M.Deinum,是的,我明白這一點。但是,我無法訪問控制器在其中添加更改。要麼我需要重寫控制器並進行更改,由於控制器類在庫中,這很難實現。我很感激,如果有任何方式可以在jsp中訪問它.. – Dev

回答

-1

我認爲我們應該添加ExServiceImpl類以上@Service註解來創建bean服務

@Service 
public ExServiceImpl implements ExService { 
} 
+0

無關緊要。他使用'JavaConfig',所以不需要'@Service'。 –

0

你想要做什麼是不好的設計可言,你要避免它。

但我相信這將幫助你:

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

但隨後的bean將不會在單。