0
我有以下Spring xml文件,用於爲不同的文件格式生成不同的視圖。我有兩個屬性url和datasource。我希望在運行時更改url,即我想使用不同的jrxml
文件,而不僅僅是一個靜態文件。如何在運行時更改以下bean屬性?
<bean id="pdfReport"
class="org.springframework.web.servlet.view.jasperreports.JasperReportsPdfView"
p:url="classpath:tree-template.jrxml" p:reportDataKey="datasource" />
<bean id="xlsReport"
class="org.springframework.web.servlet.view.jasperreports.JasperReportsXlsView"
p:url="classpath:tree-template.jrxml" p:reportDataKey="datasource" />
<bean id="htmlReport"
class="org.springframework.web.servlet.view.jasperreports.JasperReportsHtmlView"
p:url="classpath:tree-template.jrxml" p:reportDataKey="datasource" />
<bean id="csvReport"
class="org.springframework.web.servlet.view.jasperreports.JasperReportsCsvView"
p:url="classpath:tree-template.jrxml" p:reportDataKey="datasource" />
非常感謝您的回覆。我使用了下面的代碼:JasperReportsPdfView view =(JasperReportsPdfView)applicationContext.getBean(「pdfReport」); \t \t view.setUrl(「D:\\ Jasper JRXML \\ Template.jrxml」); \t \t modelAndView = new ModelAndView(view,parameterMap);但是,這是一個spirng豆的觀點並沒有改變。我正在使用MVC模式。 – phoenix
@BRS啊,似乎那些賈斯珀報告視圖加載他們的資源形式的URL,當他們被創建並在其生命週期期間重新使用。您將需要創建一個新的bean來使用不同的模板。 –
因此,對於每個報告,我都應該有一個單獨的類,並在需要時通過設置jrxml和數據源來創建bean。那麼DI在這裏有多有用? – phoenix