2013-01-22 24 views
0

我有一個類擴展了呈現XML文件的Spring的AbstractExcelView類。在這個類中,我注入了我的服務bean以供使用。我是自動裝配和組件掃描我的類,我也想對這個視圖類也做同樣的事情,但我不清楚如何(或者如果它可以完成)。這裏就是我想從配置註釋:註解Spring視圖類

<bean id="export.xls" class="com.my.views.ReportExcelView"> 
<property name="url"> 
    <value>/excel/template</value> 
</property> 
<property name="service" ref="testingService"/> 

我能夠註釋與@Component類,並與@Autowired服務,但我不知道的策略來註釋URL。我真正想要做的是在buildExcelWorkbook()調用中(基於請求中的某些內容)對其進行調整,但似乎在此之前完成了一些初始化,因爲我嘗試使用此excel模板時出現錯誤方法,表明它沒有Excel工作表的句柄。任何建議?

回答

0

所以你的ReportExcelView可能看起來像這樣。確保你使用@Resource來連接一個簡單的字符串。

package com.ex.springbasicex.view; 
@Component 
public class ReportExcelView{ 
    @Resource(name="myUrl") 
    String url; 

    @Autowired 
    Service service; 

    public String getUrl() { 
     return url; 
    } 

    public void setUrl(String url) { 
     this.url = url; 
    } 
} 

您的上下文配置可能應該像下面的使用掃描。以下是如何設置myUrl字符串資源。

<context:component-scan base-package="com.ex.springbasicex.view" /> 
<bean id="myUrl" class="java.lang.String" > 
    <constructor-arg> 
     <value>/excel/template</value> 
    </constructor-arg> 
</bean> 
+0

由於字符串url實際上是在基類上,所以我只用@Resource註釋了setUrl,它工作正常。 –