[英]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.