2010-07-12 63 views
4

我正在尋找一個很好的Web框架,用於將多個用HTTP請求提取的JSON源合成爲靜態HTML。我不打算在客戶端(瀏覽器,javascript)執行此操作,我正在尋找最佳的服務器端解決方案。用於將JSON數據合成爲HTML的合適Web框架

所以,我需要做的是:

  • 取幾個不同的JSON文件通過HTTP
  • 格式,JSON作爲HTML內容,大多用的模板,但一些動態自定義HTML
  • 基本的登錄/註銷/首選項定製,沒有什麼大不了
  • 大部分無狀態頁面;已經在JSON中出現了什麼狀態
  • 用戶/搜索引擎友好/可加入書籤的URL;應該是定製的準確

我如何想做到這一點:

  • 一個貧液,或許只是一個模板引擎有沒有自定義的語法比HTML/XML
  • HTML模板,像Wicket和幾乎像掛毯
  • 應用程序服務器是可擴展的並正確利用多個CPU(例如,一個Python進程沒有)
  • 最好是Java,但如果Java沒有適合的東西,willin g考慮他人

至於模板部分,如果這是在瀏覽器中的JavaScript,像PURE這樣的東西將是我的首選工具。

+1

純粹的框架看起來很酷。不知道這是否合適,但你可以嘗試用Rhino運行Java中的JavaScript(http://www.mozilla.org/rhino/)。 – Daff 2010-07-12 10:29:05

+0

我希望人們不要在JSON部分掛得太久 - 我可以在Java中使用JSON來處理JSON,並且如果有必要,我可以自己完成大量數據綁定。問題更多的是關於應用程序服務器/模板語言。 – Nakedible 2010-07-12 10:56:50

+1

PURE適用於Rhino和Jaxer。最近,它也適用於node.js,使用jsdom包。 – Mic 2010-07-12 16:05:30

回答

1

您可能想查看RESTx。這是輕鬆創建RESTful資源的開源平臺。它允許您使用Java或Python編寫自定義數據訪問和集成邏輯。從多個來源獲取數據並將它們結合起來就是它的用途,所以這應該是非常貼切的。數據輸出根據用戶請求提供。例如,另一個JSON數據源,或以HTML格式呈現的相同數據。

HTML呈現當前根據內置模板。但是,這應該很容易修改。我是該項目的開發人員之一,因此如果您需要一些特殊的模板功能,請告訴我,我會看看我能做些什麼。

給你舉個例子:假設你有兩個JSON資源,在你的代碼,你會寫這篇文章(我給一個Python的例子在這裏,但在Java例子看起來非常相似):

status, data_1 = accessResource("/resource/some_resource") 
status, data_2 = accessResource("/resource/some_other_resource") 
# data_1 and data_2 now hold a dictionary, list, etc., depending on the JSON 
# that was returned. 
# ... some code that combines and processes the data and produces a dict or list 
# with the result. The data object you return here is then automatically rendered 
# in either HTML or JSON, depending on the client request. 
return Result.ok(data) 

也請看看這裏的example for some simple data integration

+0

這非常有趣,但並不真正在尋找什麼。不過謝謝! – Nakedible 2010-07-15 14:52:24

-1

我認爲你需要的唯一框架是一個讀取json的庫。模板很可能是標準的jsp頁面。

+0

JSP並不符合HTML/XML的自定義語法 - 事實上,它是極性相反的,它將代碼嵌入到HTML中,其中的其他模板語言在HTML中只有一些基本的構造。 – Nakedible 2010-07-12 10:55:54