維護Web應用程序的不同版本文檔的最佳和最靈活的方法是什麼?如何維護不同版本的報告/文檔?
假設您有一個寵物商店的網絡應用程序。您需要對寵物的信息進行可打印文檔的更改,但這些更改僅對從ax日期創建的每個寵物對象有效,但對於在x之前創建的寵物日期然後使用報告的以前版本。不知何故,保留多個版本的文件,並選擇硬編碼規則似乎凌亂,有沒有其他方式?
維護Web應用程序的不同版本文檔的最佳和最靈活的方法是什麼?如何維護不同版本的報告/文檔?
假設您有一個寵物商店的網絡應用程序。您需要對寵物的信息進行可打印文檔的更改,但這些更改僅對從ax日期創建的每個寵物對象有效,但對於在x之前創建的寵物日期然後使用報告的以前版本。不知何故,保留多個版本的文件,並選擇硬編碼規則似乎凌亂,有沒有其他方式?
如果我理解正確,您只需將您的Pet
對象綁定到DocumentTemplate
對象。你可以現場只需添加到Pet
對象:
public class Pet {
private final String name;
private final Template template;
.
.
.
}
這樣你就不需要做類似的檢查:
if (pet.getCreationDate().after(date)) {
print(template1);
}
else {
print(template2);
}
但你完全可以這樣做:
print(pet.getTemplate());
這如果我正確理解你的話,那將是標準的做法。
正確。但是,你的意思是模板應該存儲在數據庫中? – arrages 2010-11-02 15:41:09
如果這不是一個選項?比如說文檔/報告是在實體存儲在數據庫中之後創建的。 – arrages 2010-11-02 15:42:24
是的,你應該以某種方式連續地綁定它們。我的意思是每個新的'寵物'你也應該綁定一個模板,你也需要綁定你當前的寵物到模板。如果它們已經在數據庫中,則可以根據需要將包含外鍵的模板表製作爲Pets表或類似的東西。我的答案通常是指:如果你不想每次都檢查 - 你應該以某種方式將寵物綁定到模板上。如果你需要更具體的答案給我更多的信息:) – Simeon 2010-11-02 16:21:42
您使用的是Microsoft的SQLServer Reporting Services,還是包含reporting-services標籤以指示報告要求? – 2010-11-03 11:11:19
我沒有使用任何報告引擎,這是一個報告要求,但我想標籤在這種情況下是不保證的。我已經刪除它。 – arrages 2010-11-04 13:53:25