2014-07-18 74 views
0

對於我曾經參與過的很多項目,編程團隊使用將xhtml文件中的每個靜態文本拼接到屬性文件中的樣式。例如:在JSP內使用屬性文本佔位符是否好的做法?

XHTML =

... 
<h1>${messages.resourceBundle['key.to.static.text.placeholder']}</h1> 
... 

messages.properties =

... 
key.to.static.text.placeholder=This will be the heading for this page only 
... 

會有人能夠解釋什麼這樣做的好處是什麼?

到目前爲止,我只能看到以下缺點:

  • 更改任何XHTML文件需要你去尋找正確的屬性文件,然後將個人財產進行更改,以
  • 如果其他人再使用屬性,然後刪除它們變得棘手,因爲你必須要一定沒有其他頁面引用的財產,因此經過多次變更請求輪,屬性文件變大了冗餘特性
  • 如果有1000個xhtmls ,將會加載1000個.properties文件,這是更多的c在CPU上加載和注入靜態文本塊
  • 如果您使用WebFlow並且有流傳遞到其他流中,則屬性必須重複,這意味着有時您必須將相同的屬性放在許多不同的屬性文件中才能呈現正確
  • 難以閱讀的代碼;如果你知道你想處理文本'這將只是這個頁面的標題',你需要首先從屬性文件中找出xhtml的位置 - 你不能簡單地看一下xhtml並清楚地看到內容將在渲染後如何佈置。

我能看到的唯一優點是文本重用和可能的html轉義。

道歉,如果其編碼101,但我已經圍繞谷歌狩獵和不能找到推理模式。

很多謝謝

回答

4

這是國際化內容的常見做法。 您可以根據語言(或語言環境)創建一個屬性文件,並根據上下文使用動態方式解決要加載的文件。 (例如瀏覽器發送的語言HTTP頭)。

這可以說是比提供每種語言1個JSP文件更靈活,而且還可以處理複雜的情況下,複數形式或風格上的差異可能會改變你寫的本地化文本的方式。

這是一個標準的JDK功能查找資源包。 您不必建立每JSP 1個文件(也許你的框架以這種方式工作?),雖然這樣做可以幫助寫翻譯的人。

相關問題