[英]Any Type-safe alternatives to JSP templating
有什么比 JSP 更安全的東西嗎? 我還沒有通過谷歌找到任何有意義的答案。 我們目前使用 Spring MVC 框架和 JSP 來呈現 HTML。 我開始討厭 JSP 渲染的動態特性,因為您引用了一個像${model.someAttribute}
這樣的模型,但無法判斷該屬性是否在給定模塊中可用或指定模型的類型模板期望。 重構模型的 getter 變得非常困難,因為 Eclipse 不知道哪些模板使用模型,也無法將 getter 與模板中的屬性訪問器相關聯。
有沒有一種模板技術,它既沒有通過命令式代碼輸出 HTML 代碼那么丑陋,又比 JSP 更安全?
還沒有真正使用過它,但 Twirl (https://www.playframework.com/documentation/2.5.x/JavaTemplates ) 稱自己為“基於 Scala 的類型安全模板引擎”(顯然可以在 Play for Java 中使用) .
引用:
基於 Scala Play 的類型安全模板引擎附帶了 Twirl,這是一個強大的基於 Scala 的模板引擎,其設計靈感來自 ASP.NET Razor。 具體是:
緊湊、富有表現力和流暢:它最大限度地減少了文件中所需的字符數和擊鍵次數,並實現了快速、流暢的編碼工作流程。 與大多數模板語法不同,您無需中斷編碼以在 HTML 中明確表示服務器塊。 解析器足夠聰明,可以從您的代碼中推斷出這一點。 這實現了一個非常緊湊和富有表現力的語法,它干凈、快速並且打字很有趣。
易於學習:它使您能夠以最少的概念快速提高工作效率。 您使用簡單的 Scala 結構和所有現有的 HTML 技能。
不是一種新語言:我們有意識地選擇不創造一種新語言。 相反,我們想讓 Scala 開發人員能夠使用他們現有的 Scala 語言技能,並提供模板標記語法,以實現出色的 HTML 構建工作流。
可在任何文本編輯器中編輯:它不需要特定工具,使您能夠在任何普通的舊文本編輯器中高效工作。
免責聲明:我是Hepek的作者。 目前,它僅支持 Play 框架。
Scalatags 通過構造為您提供安全的 HTML。 最重要的是,Hepek 有非常好的 API 來構建表單、網格、代碼突出顯示等。基本上,它只是 Scala,沒有模板解析,不用擔心變量是否存在.. :)
我認為Rocker正是您一直在尋找的。 它經過編譯,類型安全且快速。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.