使用 Java 将参数添加到 Rythm 模板

Add Arguments to Rythm template using Java

我正在编写一个 MVC portlet 框架,我打算在我的视图中使用 Rythm。我想将各种参数传递给视图,想知道是否有办法在运行时使用 Java 为视图声明这些参数?我知道我可以使用 @args 标记在视图中声明参数,并且我可以从 Java 添加自定义标记,但我想做一些类似于 ASP.NET MVC 传递帮助程序 类 (HtmlHelper @Html, UrlHelper @Url, Object @Model) 到视图。

如果您计划传递给视图的所有参数都是全局参数(即它们应用于所有渲染会话和所有模板),那么您应该将它们视为隐式变量,这意味着模板作者不需要声明它们但他们可以自由使用它们。隐式变量的示例有会话、请求、上下文等。

如何声明隐式变量,可以参考:

有关如何使用隐式变量配置 Rythm 引擎,请参阅

如何为每个render session注入隐式变量到rythm引擎,您也可以参考:


对于 HtmlHelper 之类的东西,我的建议是提供可重复使用的节奏模板作为标签而不是 Java 对象。因为你需要渲染 html 片段,所以使用 rythm 是一种自然的方式,而不是让 Java 代码输出内容。

对于像 UrlHelper 这样的事情,如果它都是关于字符串操作的,你可以直接使用 Java 代码,但可能 public 静态方法比辅助实例更合适